A short, prose description of the pattern.
// An example of the pattern in action, should be mostly code, commented
// liberally.
When writing examples, please try to make them compile. This allows us to test
them. If you fail to write an example that is both complete and readable,
please at least mark your example code with ignore
as in here:
// A non-runnable example of the pattern in action, should be mostly code, commented
// liberally.
Why and where you should use the pattern
Good things about this pattern.
Bad things about this pattern. Possible contraindications.
A deeper discussion about this pattern. You might want to cover how this is done in other languages, alternative approaches, why this is particularly nice in Rust, etc.
Related patterns (link to the pattern file). Versions of this pattern in other languages.