diff --git a/.github/ISSUE_TEMPLATE/propose_design.md b/.github/ISSUE_TEMPLATE/propose_design.md index 99121522..5cefb6a4 100644 --- a/.github/ISSUE_TEMPLATE/propose_design.md +++ b/.github/ISSUE_TEMPLATE/propose_design.md @@ -19,6 +19,24 @@ Why are we doing this? What problems does it solve? Introduce and explain the new APIs and concepts. How will this proposal be implemented? Provide representative and edge-case examples. +Provide a skeleton of the proposed API by writing out types (don't need their +members or full implementation) as well as function and method signatures +(again, just the signature, don't need the function body): + +```rust +pub struct Whatever { ... } + +impl Whatever { + pub fn new(raw: &web_sys::RawWhatever) -> Self { ... } + pub fn another(&self) -> Another { ... } +} + +pub struct Another { ... } + +// Does X, Y, and Z when dropped. +impl Drop for Another {} +``` + ## Drawbacks, Rationale, and Alternatives Does this design have drawbacks? Are there alternative approaches? Why is this