book: Reference, generics (slice of #590) #626
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Slice of #590 (Reference, part 2), which is a slice of the epic #582. Starts after nothing; #585 is merged. The Guide slices (#587, #588) write
book/guide/and the Reference part 1 slices (#589) write other pages ofbook/reference/; they are independent of this one and none of them replaces the old pages below. Governing note:book/CONCEPT.md("How a page is written", "What CI checks"). Touches the seed: no (documentation only; no syntax change, no native, no driver flag, no std name looked up by the compiler).Goal
Write the Reference page(s)
reference/generics.md. Type parameters on functions and types, bounds, inference, witnesses, and why there are no higher-kinded types. Read likebook/reference/bindings.mdandbook/reference/cases-and-patterns.md(merged in #585): complete for the area, still prose with a real program and its output under every rule.Replaces in
docs/docs/language/generics/index.mddocs/language/generics/type-parameters.mddocs/language/generics/bounds.mddocs/language/generics/inference.mddocs/language/generics/witnesses.mddocs/language/generics/no-higher-kinded-types.mdAcceptance criteria
page,status: stable, front matter in the shape ofbook/reference/bindings.md(title,summary,order,keywords), and is written asbook/CONCEPT.md, "How a page is written", says: the first paragraph says in two to four sentences what the page covers, headings name ideas, prose first, no history words, no internal references (no issue numbers, no links intodocs/design,docs/contributing,docs/internals,CONCEPT.md), no Related/Next/See also sections, lists of at most seven items, every section starts with a sentence; links only to book pages that exist on maintrb runandtrb errorblock is followed by itsoutputblock with the real output (atrb errorblock shows whattorb checkprints, fromerror:on); no fragments, no// printscommentstrb run/trb errorexamples, not as a template of Syntax/Rules/What this is not; Every inference failure and every bound error a reader can hit has atrb errorexample; the page grows one generic function and one generic type across its sections.book/CONCEPT.mdthat the area touches are shown, not just namedbook/reference/index.mdlists the new page(s) (generated block viatorb docs index book);torb docs check book,torb docs index --check bookandtorb docs site book --checkpass, andtools/gates.shpasses in CIdocs/" are deleted in the same PR unless a skill is still built from them (skills are generated bytorb docs skill docs skills): for every old page a skill still needs, it stays indocs/unpublished and the PR description names it and why; the others are deleted together with every link to them, and the skills are regenerated sodocs skill --checkstays greenNotes for the implementer
book/CONCEPT.md,book/reference/bindings.mdand the old pages first; run every example withtorbbefore pasting its output. A rule that only the old page states and that you cannot reproduce is checked against the compiler, not copied.docs(book): reference genericsand, if needed,docs: retire the pages the reference replaces.