| 006 |
Cleanup That Can Pause — the Cleanup Trait |
ADR-297 |
D1→D1, D2→D3, D3→D5, D4→D4, D5→D6, D6→D10 |
| 007 |
The Scannerless Grammar Protocol, and Two Ways to Bind a Hole |
ADR-296 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5, D6→D6, D7→D7, D8→D8 |
| 008 |
Tethered Slices in User Structs — the Tether-State Lattice |
ADR-283 |
D1→D1, D2→D2, D3→D2, D4→D11, D5→D3, D6→D4, D7→D5, D8→D6, D9→D7 |
| 009 |
Parallel Parsing — Frames, Monoid Folds, and Format Assumptions |
ADR-296 |
D1→D9, D2→D10, D3→D11, D4→D12, D5→D13, D6→D14, D7→D15 |
| 011 |
Stage 0 Lowering — the Grammar Protocol onto the Parser Backend |
ADR-296 |
D1→D16, D2→D17, D3→D18, D4→D19, D5→D20, D6→D21, D7→D22, D8→D23 |
| 012 |
Diagnostics — Reporting Errors in the File the User Wrote |
ADR-300 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5, D6→D6, D7→D7, D8→D8 |
| 018 |
The Handler Sees the Request, Because the Lambda Already Could |
ADR-289 |
D1→D17, D2→D18, D3→D19, D4→D20, D5→D21 |
| 022 |
One Lambda Form. fn: Is Removed |
ADR-277 |
D1→D1, D2→D3, D3→D4, D4→D5 |
| 026 |
Compile-Time I/O — What a Build May Read, and What May Run While It Reads |
ADR-310 |
D1→D1, D2→D2 |
| 027 |
sync Is Earned, Not Entered |
ADR-288 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5, D6→D6 |
| 028 |
The Type Checker Already Knew |
ADR-288 |
D1→D7, D2→D8, D3→D9, D4→D10, D5→D11, D6→D12 |
| 029 |
A Higher-Order Function Does What Its Lambda Does |
ADR-288 |
D1→D13, D2→D14, D3→D15, D4→D16 |
| 030 |
A Program Is More Than One File, and That Is Name Resolution |
ADR-286 |
D1→D1, D2→D1, D3→D2, D4→D3, D5→D7, D6→D8, D7→D9 |
| 031 |
A Signature May Name Its Receiver’s Type Arguments |
ADR-288 |
D1→D17, D2→D18, D3→D19, D4→D20 |
| 032 |
A Hole Is Code, and Every Analysis Has to See It |
ADR-309 |
D1→D11, D2→D12, D3→D13, D4→D14, D5→D2 |
| 033 |
Program Order Is a Guarantee Where It Is Observable |
ADR-292 |
D1→D1, D2→D3, D3→D3, D4→D3, D5→D1, D6→D5, D7→D7, D8→D7, D9→D2, D10→D6 |
| 034 |
A Handler That Can Return Makes the Next Statement Conditional |
ADR-292 |
D1→D1, D2→D1 |
| 035 |
The f Goes on the String, Because the Mark Belongs on the Construct |
ADR-309 |
D1→D1, D2→D4, D3→D2, D4→D3, D5→D15 |
| 036 |
A Stack Trace Is Asked For, and the Site Is Free |
ADR-280 |
D1→D1, D2→D2, D3→D3, D4→D4 |
| 038 |
The Runtime Is Ours, and So Is the HTTP Server |
ADR-303 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5, D6→D6, D7→D7 |
| 039 |
The Lock Has One Shared Form and Four Doors, and Taking a Lock Inside a Lock Is Refused |
ADR-281 |
D1→D4, D2→D28, D3→D29, D4→D30, D5→D31, D6→D32, D7→D33, D8→D36, D9→D3, D10→D10 |
| 040 |
A Handle on a Shared Value Is Duplicated, Never Moved |
ADR-312 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5 |
| 041 |
Naming a Lambda’s Arguments Is the Normal Form; the Automatic Names Are Experimental |
ADR-277 |
D1→D2, D2→D2 |
| 043 |
An Overflow Aborts, at Every Build. Wrapping and Saturating Get Names |
ADR-285 |
D1→D5, D2→D6, D3→D7, D4→D12, D5→D29, D6→D8, D7→D13 |
| 044 |
One Location Table, and Every Abort Points at the Nikaia Line |
ADR-300 |
D1→D9, D2→D10, D3→D11 |
| 045 |
The Crossing Verdict Takes the Destination |
ADR-312 |
D1→D6, D2→D7, D3→D8 |
| 046 |
use Names a Unit of Code and Brings Nothing In |
ADR-286 |
D1→D10, D2→D11, D3→D12, D4→D13, D5→D14 |
| 047 |
A Package Is a Directory, and a Library Arrives by Path |
ADR-286 |
D1→D1, D2→D15 |
| 048 |
A Length Is an i64, and the Numeric Surface Is the One the Page Names |
ADR-285 |
D1→D1, D2→D2 |
| 049 |
The Automatic a, b, c Are Withdrawn |
ADR-277 |
D1→D2 |
| 050 |
Statement Order Is the Written Order, and overlap { … } Is How a Program Asks for Less |
ADR-292 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5, D6→D6, D7→D7 |
| 051 |
This Language’s Keywords Are Reserved Words |
ADR-298 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5 |
| 052 |
T? Is a Type, null Is a Word, and the Some(…) Is the Compiler’s to Write |
ADR-278 |
D1→D1, D2→D2, D3→D3, D4→D5, D5→D4, D6→D9, D7→D13, D8→D16 |
| 053 |
One Rust Crate per Nikaia Package |
ADR-286 |
D1→D19, D2→D20, D3→D21, D4→D22 |
| 054 |
as Names a Type This Language Offers, and a Count Goes In as an i64 |
ADR-285 |
D1→D14, D2→D15 |
| 057 |
Locked[T] Is Decided Per Value, Not Per Build Setting |
ADR-281 |
D1→D5, D2→D6, D3→D7, D4→D9 |
| 058 |
A Response May Be Bytes the Program Never Read, and std Decides How They Travel |
ADR-289 |
D1→D22, D2→D23, D3→D24, D4→D25, D5→D26, D6→D27, D7→D28, D8→D29, D9→D30 |
| 059 |
access Reads and update Writes, and the One Block That Changes a Value Says mut |
ADR-281 |
D1→D11, D2→D12, D3→D12 |
| 060 |
A Literal No Use Constrains Takes the First Type That Holds It |
ADR-285 |
D1→D20, D2→D21, D3→D23 |
| 061 |
A Shared Does Not Go Into Code Nothing Describes, So at One User Thread Its Count Is Plain |
ADR-312 |
D1→D9, D2→D10, D3→D11 |
| 062 |
A Target That Lets Foreign Code Call In Is a Target, and the Boundary Is Where the Safe Shape Is Paid For |
ADR-284 |
D1→D1, D2→D2, D3→D3 |
| 063 |
A Constant Written Only in Literals Takes the First Type That Holds It, and a Name Pins What Its Value Took |
ADR-285 |
D1→D22, D2→D26, D3→D28 |
| 064 |
SharedMut[T] Names the Capability, a Call Makes the Hull, and There Is One Spelling |
ADR-281 |
D1→D1, D2→D2, D3→D3 |
| 065 |
A Door Over Several Locks Is a Call the Compiler Types, and update_all Hands Back One Value Per Lock |
ADR-281 |
D1→D17, D2→D18, D3→D19 |
| 066 |
?. Reaches a Member, and a Method Is One |
ADR-278 |
D1→D10, D2→D11, D3→D12, D4→D15, D5→D13, D6→D14 |
| 067 |
sync Means One Thing — Never Pauses — and touches Gets the Inference It Was Written For |
ADR-288 |
D1→D21, D2→D22, D3→D23 |
| 068 |
A Value Whose Type Is Not Known Is Converted Into the Nullable Slot, Not Left Alone |
ADR-278 |
D1→D7, D2→D6, D3→D8 |
| 069 |
http Leaves std and Becomes a Package, So It Can Ripen at Its Own Speed |
ADR-289 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5 |
| 070 |
There Is No Unconditional Loop Keyword — while true Is the Unconditional Loop |
ADR-276 |
D1→D1, D2→D2, D3→D6, D4→D9 |
| 071 |
break, continue and loop Are Reserved Words, and None of Them Is a Construct |
ADR-276 |
D1→D9, D2→D11, D3→D9, D4→D10 |
| 072 |
A File a Build Reads Is Named Three Times, and a Build Given No List Reads Nothing |
ADR-310 |
D1→D4, D2→D5, D3→D6, D4→D7, D5→D8, D6→D9, D7→D10, D8→D11 |
| 073 |
const Is a Declaration That Must Be Evaluated at Build Time — a let That Merely Folds Is Not One |
ADR-287 |
D1→D1, D2→D3, D3→D4, D4→D5, D5→D6, D6→D7 |
| 074 |
A Type Parameter Is a Type Inside Its Own Body and a Variable at Every Call Site |
ADR-295 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5 |
| 075 |
A Build-Time Body May Call What Is sync and Touches at Most the Build’s Parameters |
ADR-287 |
D1→D13, D2→D14, D3→D15, D4→D16, D5→D17, D6→D18 |
| 076 |
A Name the Language Below Reserves Is Escaped Where It Is Written, and Refused Only Where It Cannot Be |
ADR-298 |
D1→D9, D2→D10, D3→D11, D4→D12 |
| 077 |
The Word Is comptime, Because a Keyword Should Say When and Not Whether It Changes |
ADR-287 |
D1→D1, D2→D2, D3→D8 |
| 078 |
A Trait Is Declared, and a Bound Is Answered from the Declaration |
ADR-295 |
D1→D6, D2→D7, D3→D8, D4→D9 |
| 079 |
Growable Going In, Fixed Coming Out — and the Lookup Is the Compiler’s, Not an Interface |
ADR-311 |
D1→D1, D2→D2, D3→D6, D4→D7, D5→D16 |
| 082 |
A Grammar Is Entered by a Call, and Every pub Rule Is an Entry |
ADR-296 |
D1→D24, D2→D25, D3→D26, D4→D27 |
| 084 |
break and continue Are in the Language, Unlabelled and Carrying No Value |
ADR-276 |
D1→D11, D2→D12, D3→D13, D4→D16, D5→D17, D6→D18, D7→D1, D8→D19 |
| 085 |
The Unconditional Loop Is Lowered to loop, and the Preamble Gets No allow |
ADR-276 |
D1→D3, D2→D3, D3→D4, D4→D5 |
| 086 |
A Head Parses the Same Language as a Body, Minus the Forms a { Begins — So && and || Join It |
ADR-301 |
D1→D1, D2→D2, D3→D3, D4→D6, D5→D8 |
| 087 |
A Head Holds Every Expression; Only a Brace-Led One Needs Parentheses |
ADR-301 |
D1→D4, D2→D5, D3→D6, D4→D7, D5→D8 |
| 088 |
Reflection Is Data, Not a Syntax Tree — and macro, quote and with Are Reserved Words That Are Not Constructs |
ADR-304 |
D1→D1, D2→D2, D3→D3, D4→D5, D5→D7, D6→D9 |
| 089 |
A ??’s Fallback Is One Value, or an Expression in Brackets |
ADR-279 |
D1→D1, D2→D2 |
| 090 |
A catch That Ignores the Error Binds _error |
ADR-308 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5 |
| 091 |
A catch Over an Expression That Cannot Fail Is Refused |
ADR-308 |
D1→D6, D2→D7, D3→D8, D4→D9, D5→D10 |
| 092 |
A Grammar Fold’s init, step and merge Are Code |
ADR-296 |
D1→D28, D2→D29, D3→D30, D4→D31 |
| 093 |
A Loop That Cannot End Needs No Unreachable return |
ADR-276 |
D1→D6, D2→D7, D3→D8 |
| 095 |
A Trait Reached Across a Package Is Imported by the Emitter |
ADR-286 |
D1→D28, D2→D29, D3→D30 |
| 097 |
A comptime Binding Where an Item Stands |
ADR-287 |
D1→D9, D2→D10, D3→D11, D4→D12 |
| 098 |
A let Takes One Name, or a Flat Tuple of Them |
ADR-291 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5 |
| 099 |
The Two Refusals That Come With the Lock’s Doors |
ADR-281 |
D1→D20, D2→D21, D3→D25 |
| 101 |
An Error That Newly Reaches a catch Is Named Once, and the Ledger Commit Is the Acknowledgement |
ADR-308 |
D1→D11, D2→D12, D3→D13, D4→D14 |
| 102 |
A Function Type Says What a Handler May Do, and Whether It Is Kept Is Inferred |
ADR-277 |
D1→D6, D2→D7, D3→D8, D4→D9, D5→D11 |
| 103 |
A Package Is Found by Version Through Cargo, Under the Crate Name nikaia_<name> |
ADR-286 |
D1→D23, D2→D24, D3→D25, D4→D26, D5→D27 |
| 104 |
A Foreign Crate Is Described Before It Is Called, and nikaia describe Writes the Draft |
ADR-290 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5 |
| 106 |
A Bound Takes a Path, and the Ledger Records a Trait and Each impl Where They Were Written |
ADR-295 |
D1→D10, D2→D11, D3→D12, D4→D13, D5→D14 |
| 107 |
Text Is One Type, String, Whose State the Compiler Picks — and &str Is the Assertion That It Is a View |
ADR-282 |
D1→D1, D2→D2, D3→D7, D4→D26, D5→D27 |
| 109 |
A Trait Method May Pause Unless It Says sync — and the Language Below Is Rust 1.75 or Newer |
ADR-288 |
D1→D24, D2→D25, D3→D26, D4→D27 |
| 110 |
An update Block Says mut and Nothing Else, May Run More Than Once, and the Compiler Picks the Lock |
ADR-281 |
D1→D12, D2→D13, D3→D14, D4→D15, D5→D16, D6→D18 |
| 111 |
What Leaves a Lock Is Stamped Seen[T], and Nothing Stamped Goes Back In Blind |
ADR-281 |
D1→D22, D2→D23, D3→D24, D4→D25, D5→D26, D6→D27 |
| 112 |
A Cleanup That Did Not Finish Is a Failure of the Program — Exit 70, Said on the Panic Path |
ADR-297 |
D1→D7, D2→D8, D3→D9 |
| 113 |
?. Reaches Through a View, and the Receiver Stays Usable |
ADR-278 |
D1→D16, D2→D17, D3→D18, D4→D23 |
| 114 |
Reading a Map Through the Brackets Is a T?, Because a Key Is Data |
ADR-293 |
D1→D1, D2→D2, D3→D3, D4→D4 |
| 115 |
An overlap Keeps Every Failure — the First in Written Order Wins, the Rest Are Attached as secondary |
ADR-292 |
D1→D8, D2→D9, D3→D10, D4→D11 |
| 116 |
from Is a Name, and a File a Build Reads Is asset("…") |
ADR-310 |
D1→D12, D2→D3, D3→D13 |
| 117 |
loop, const, macro and quote Are Names, and Their Messages Move to the Undeclared-Name Help |
ADR-298 |
D1→D6, D2→D7, D3→D8 |
| 120 |
A Grammar’s Vocabulary Is One Page, an Action Is the Block After the Pattern, and Two Borrowed Names Go |
ADR-296 |
D1→D32, D2→D33, D3→D34 |
| 122 |
A Function-Typed Parameter Lowers by Its Type — the Future Shape Unless It Says sync |
ADR-277 |
D1→D11, D2→D10, D3→D12 |
| 124 |
extern and unsafe Are Reserved, Because They Cost Nothing Now and a Boundary Has to Be Visible |
ADR-302 |
D1→D1, D2→D2, D3→D3, D4→D4 |
| 125 |
A Library for Other Languages — pub extern "C" fn Is an Entry Point, the Caller Owns the Memory, and Every Call Answers With a Status |
ADR-284 |
D1→D4, D2→D5, D3→D6, D4→D7, D5→D8, D6→D9, D7→D10, D8→D11, D9→D12, D10→D13 |
| 126 |
_ Is the Ignore Pattern — It Stands Where a Name Would Be Bound, and Nowhere Else |
ADR-291 |
D1→D6, D2→D7, D3→D8, D4→D9 |
| 127 |
A Struct Crosses the Boundary by Value When It Says extern "C", and Its Layout Is C’s |
ADR-284 |
D1→D14, D2→D15, D3→D16, D4→D17, D5→D18 |
| 128 |
A Symbol Is Named by the Compiler — the Prefix Is the Package’s, or One Line in [build], and No Declaration Renames Itself |
ADR-284 |
D1→D13, D2→D13 |
| 129 |
An Async Call Hands Back a Ticket That Can Be Cancelled, and a Stream Is the Callback the Function Already Takes |
ADR-284 |
D1→D19, D2→D20, D3→D21 |
| 130 |
A WebAssembly Library Is the Same Entry Point on Another Target — There Is No extern "wasm", and the Host Takes Its Buffers From the Module |
ADR-284 |
D1→D22, D2→D23, D3→D24, D4→D25 |
| 131 |
A Binding for Another Language Is a Generated File Over the C Library, Written by nikaia bind, and Never a Second Artifact |
ADR-284 |
D1→D26, D2→D27, D3→D28, D4→D29 |
| 134 |
/* … */ Is a Comment, It Nests, and It Is Not a Doc Comment |
ADR-307 |
D1→D1, D2→D2, D3→D3 |
| 136 |
A Number Literal May Be Written 1_000_000, 0xFF, 0b1010 or 0o17, and the Digits It Was Written In Are a Spelling |
ADR-285 |
D1→D16, D2→D17, D3→D18 |
| 137 |
match Takes Six More Pattern Shapes, a Guard Is if, and .. in a Pattern Is Inclusive — So ..< Is the Exclusive Range Everywhere |
ADR-291 |
D1→D10, D2→D11, D3→D12, D4→D13, D5→D14, D6→D15 |
| 138 |
throw, return, break and continue Are Expressions of the Never Type |
ADR-276 |
D1→D20, D2→D21, D3→D22 |
| 139 |
A Doc Comment Is a Language Feature, and the Ledger Carries It |
ADR-307 |
D1→D4, D2→D5, D3→D6, D4→D7 |
| 142 |
A Grammar’s Action May Not Pause |
ADR-296 |
D1→D35, D2→D36, D3→D37 |
| 143 |
The Database Driver Checks the SQL at Build Time Against the Schema — std::db Is the Protocol, the Dialect Is a Package, and the Compiler Adds One Intrinsic |
ADR-299 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5, D6→D6 |
| 144 |
A Name Denotes One Thing, and the Second Declaration Is Refused |
ADR-286 |
D1→D4, D2→D5, D3→D6 |
| 145 |
A match’s Catch-All Arm Is else, Not _ |
ADR-291 |
D1→D16, D2→D17, D3→D18 |
| 146 |
A match Covers Every Case, and the Refusal Is This Compiler’s |
ADR-291 |
D1→D19, D2→D20, D3→D21 |
| 147 |
The C Boundary Has a View and an Opaque Handle, and No Raw Pointer |
ADR-302 |
D1→D5, D2→D6, D3→D7, D4→D8, D5→D9 |
| 148 |
select { … } Keeps the First Branch to Finish, and a Task Handle Has cancel() |
ADR-292 |
D1→D12, D2→D13, D3→D14, D4→D15 |
| 151 |
break Carries No Value, and the Refusal Names the Two Shapes That Do |
ADR-276 |
D1→D13, D2→D14, D3→D15 |
| 153 |
A Native Node Add-On Waits for a Program, and Is Generated C Over the C Library |
ADR-284 |
D1→D28, D2→D28, D3→D28 |
| 154 |
The Prelude Is a Written List, Small and Closed |
ADR-313 |
D1→D1, D2→D2, D3→D3, D4→D7, D5→D8 |
| 155 |
A Handle May Be Absent, and T? Is How It Says So |
ADR-302 |
D1→D10, D2→D11, D3→D12, D4→D13, D5→D14 |
| 156 |
Bytes Is the Language’s, and the Tether It Needs Is Refused Until It Is Built |
ADR-283 |
D1→D19, D2→D20, D3→D21, D4→D9, D5→D13, D6→D22 |
| 157 |
The Failure Channel Is the Error Type, Where the Ledger Names One |
ADR-280 |
D1→D9, D2→D10, D3→D11, D4→D12 |
| 158 |
std Names What It Throws, and It Is One Type |
ADR-280 |
D1→D5, D2→D6, D3→D7, D4→D8 |
| 159 |
A Library’s Error Type Is a Channel Too, and It Travels Bare |
ADR-280 |
D1→D9, D2→D13, D3→D3, D4→D12 |
| 160 |
A Set With Two Error Types In It Is a Generated Sum |
ADR-280 |
D1→D15, D2→D16, D3→D17, D4→D18 |
| 161 |
Reading a Map Through the Brackets, Built — and What It Took |
ADR-293 |
D1→D2, D2→D5, D3→D6, D4→D7, D5→D8, D6→D9, D7→D10, D8→D11 |
| 162 |
Diagnosis and Safety Are the Language’s — eprint, access_all, update_all |
ADR-313 |
D1→D4, D2→D5, D3→D10 |
| 163 |
A Block That Joins on the Executor Pauses, and Its Branches Travel in the Function’s Own Channel |
ADR-292 |
D1→D16, D2→D17, D3→D18 |
| 164 |
A Joining Block Has One Outcome, and a Handler on It Binds What the Branches Threw |
ADR-292 |
D1→D18, D2→D19, D3→D20 |
| 165 |
There Is No Postfix ?? — the Three Things One Is Reached For Each Have a Spelling |
ADR-279 |
D1→D3, D2→D4 |
| 167 |
The Shared Types Are the Language’s, and a Prelude Name Written With a Module Is Refused |
ADR-313 |
D1→D6, D2→D9 |
| 168 |
The Re-entrancy Check Is Built as a Build Option, and Part I 1.2’s Status Note Was Wrong About Two of Its Three Clauses |
ADR-281 |
D1→D36, D2→D37, D3→D38 |
| 169 |
A Type Says What Reading It Touches, and I/O Under a Lock Is Refused |
ADR-281 |
D1→D34, D2→D35 |
| 170 |
An Error Carries the Failures That Joined It, and a Body That Joins Puts an Envelope on a Bare Channel |
ADR-280 |
D1→D13, D2→D19, D3→D20 |
| 173 |
What a Parse Fails With Has a Name |
ADR-296 |
D1→D38, D2→D39, D3→D40 |
| 174 |
A Bound Is Enforced Where It Is Used |
ADR-295 |
D1→D15, D2→D16, D3→D17 |
| 175 |
A Build-Time Value May Be an Array |
ADR-311 |
D1→D3, D2→D4, D3→D5 |
| 176 |
A Map the Build Can See Is a List of Pairs, and What It Crosses As Is a Table |
ADR-311 |
D1→D8, D2→D9, D3→D10, D4→D11, D5→D12 |
| 180 |
A Fixed Table Holds a Declared Type as a View of One |
ADR-311 |
D1→D13, D2→D14, D3→D15 |
| 181 |
T::fields Is a List the Build Walks, and the Loop Over It Is Unrolled Per Type |
ADR-304 |
D1→D4, D2→D6, D3→D8, D4→D2, D5→D10 |
| 183 |
A Path’s Head Is One of Five Things, and a Name That Is None of Them Is Refused |
ADR-286 |
D1→D31, D2→D32, D3→D33, D4→D34, D5→D35 |
| 187 |
Rust Has A Stable async Closure, And A Premise Under Twelve Sentences Is False |
ADR-277 |
D1→D13, D2→D16, D3→D11 |
| 189 |
?. Lends Its Receiver Where That Needs No Representation, And The Third Case Waits On The Tether |
ADR-278 |
D1→D18, D2→D18, D3→D19 |
| 190 |
The Tether Is Needed At An Escape And Nowhere Else — ?. Has No Escape In It |
ADR-278 |
D1→D17, D2→D20, D3→D19, D4→D17 |
| 191 |
?? Joins Two Views, And A ?. Takes One Of A Binding And Not Of A Temporary |
ADR-278 |
D1→D19, D2→D20, D3→D21 |
| 192 |
The Body’s Run-Or-Kept Answer Decides A Code Parameter’s Shape |
ADR-277 |
D1→D11, D2→D8, D3→D14, D4→D15 |
| 193 |
A Description Says Whether It Threads, And The Describer Proposes The Answer |
ADR-290 |
D1→D6, D2→D7, D3→D8, D4→D9, D5→D10 |
| 194 |
Two Servers, Not One — The Standard One Is The Operator’s And An Application’s Is Its Own |
ADR-289 |
D1→D6, D2→D12, D3→D13, D4→D14, D5→D13 |
| 195 |
nikaia describe Is a Nikaia Program, Because This Language Has To Be Written In |
ADR-290 |
D1→D11, D2→D12, D3→D13, D4→D14, D5→D15 |
| 196 |
A Nikaia Piece Joins a Rust Program as an Ordinary Cargo Module |
ADR-290 |
D1→D16, D2→D17, D3→D18, D4→D19 |
| 197 |
A path Is Relative to the File It Is Written In |
ADR-286 |
D1→D16, D2→D17, D3→D18 |
| 198 |
std::net — the Socket std Lends, and the First Untrusted Source |
ADR-289 |
D1→D7, D2→D8, D3→D9, D4→D10, D5→D11 |
| 199 |
A Readiness Wait Is a Registration, Not a Worker |
ADR-303 |
D1→D8, D2→D9, D3→D10, D4→D11, D5→D12 |
| 200 |
nikaia serve Is Cut, And The MVP Is The Application Server Alone |
ADR-289 |
D1→D12, D2→D13, D3→D16 |
| 201 |
@borrowed Is Removed, And The Word That Allows A Tether Is @tethers |
ADR-283 |
D1→D4, D2→D4, D3→D4 |
| 202 |
A View Of The Subject Is Handed Back Without A ref, And The Ledger Names The Receiver |
ADR-views-3 |
D1→D7, D2→D4 and D7, D3→D7 |
| 205 |
A Bound Reaches a Caller Inside the signature, Where the Declaration Writes It |
ADR-295 |
D1→D18, D2→D19 |
| 206 |
A Route Is Not Refused by What Its Handler Touches, and No Report Lists It Either |
ADR-289 |
D1→D31, D2→D32, D3→D33 |
| 207 |
A Text Literal Is a String Where One Is Wanted — Constructed Where It Is Kept, Handed Over as It Is Where It Is Read |
ADR-282 |
D1→D3, D2→D4, D3→D5, D4→D6 |
| 208 |
A View of Text Is Asked for a Copy Only Where Something Keeps It — and the Refusal Says Why |
ADR-282 |
D1→D11, D2→D25 |
| 209 |
The Tether Is Built — a Buffer Lives in the Keep of Whatever Keeps Its Views, and the Compiler Decides Which |
ADR-283 |
D1→D9, D2→D10, D3→D11, D4→D12, D5→D4, D6→D13 |
| 210 |
The Joined Failures Are a Diagnostic, Not a Value — No Type for a List of Errors |
ADR-280 |
D1→D21, D2→D22, D3→D23 |
| 211 |
What an Error Carries Besides Itself Is One Word — the Special Cases Pay for Themselves |
ADR-280 |
D1→D24, D2→D25, D3→D26, D4→D27 |
| 212 |
A Sequence Says What It Is as a Whole — a Range Replays, a Pipeline Walks From Its Back End, and Every Taking Is Seen |
ADR-293 |
D1→D16, D2→D17, D3→D18, D4→D19, D5→D20 |
| 213 |
A Key Is Not a Position, and What Is Handed Over Is Gone — Maps With Owned Keys, and ADR-094’s Refusal Built |
ADR-293 |
D1→D27, D2→D28, D3→D29, D4→D30 |
| 214 |
A Taking Has a Place in Its Statement and a Path in Its Value — and a Read Through the Brackets Warns About Nothing |
ADR-293 |
D1→D31, D2→D32, D3→D33 |
| 215 |
What Was Left of ADR-212 §5 — insert, str::chars, a Slice’s Type, a Named Range in the Brackets, and a Copy of a View |
ADR-293 |
D1→D21, D2→D22, D3→D23, D4→D24 |
| 216 |
A Copy Has One Word — .clone(), and .to_owned() Is the Language Below’s |
ADR-282 |
D1→D8, D2→D9, D3→D10, D4→D3 |
| 219 |
The Oldest Rust Nikaia Works With Is Measured — 1.88 |
ADR-305 |
D1→D1, D2→D2, D3→D3 |
| 220 |
Edition 2024 for Our Crates and for the Emitted Code |
ADR-305 |
D1→D4, D2→D5, D3→D6, D4→D7 |
| 221 |
A Container of Structs of Views That Drops Entries Is Held, One Handle per Buffer |
ADR-283 |
D1→D14, D2→D15, D3→D16, D4→D17, D5→D18 |
| 222 |
A String Field or Result Is Below What Flows Into It — Text of Its Own, a View, or Either per Value |
ADR-282 |
D1→D12, D2→D22, D3→D14, D4→D17, D5→D26 |
| 223 |
Every Declared String Is a Position — Parameters, Annotated lets, and the Elements of a List or a Map |
ADR-282 |
D1→D12, D2→D14, D3→D15, D4→D23 |
| 224 |
The Rest of the Text Wall — a Hole, a String?, a List Going in Whole, and the Foreign Boundary |
ADR-282 |
D1→D12, D2→D5, D3→D16, D4→D27 |
| 225 |
A View Cut From Text Is Typed as One, and a Kept Argument Is Measured Against What the Receiver Says |
ADR-282 |
D1→D18, D2→D19, D3→D15 |
| 226 |
A View Handed Back Out of a Parameter That Holds Views Is the Buffer’s |
ADR-282 |
D1→D20, D2→D21 |
| 227 |
collect() Builds What the Place It Goes Into Declares |
ADR-293 |
D1→D25, D2→D26 |
| 228 |
A ?. View Out of a Temporary Is Held for the Rest of the Block |
ADR-278 |
D1→D21, D2→D22 |
| 232 |
A Published Parameter Takes Either Kind of Text From Its Own Package |
ADR-282 |
D1→D23, D2→D24 |
| 236 |
A Cleanup Point That Moves With a Contract Is Narrated at the Call |
ADR-297 |
D1→D12, D2→D13 |
| 237 |
A Described Call That Fails Is Propagated, and a Boundary the Backend Disagrees With Is Named |
ADR-290 |
D1→D20, D2→D21 |
| 238 |
A Word-Sized Value That Crosses Is the Word, and update Is a Compare-and-Swap |
ADR-281 |
D1→D8, D2→D18, D3→D16 |
| 239 |
Ownership Says When a Value Dies, and the Compiler Settles Its Cleanup There |
ADR-297 |
D1→D1, D2→D2, D3→D4, D4→D3, D5→D5, D6→D11 |
| 240 |
An Error Keeps Its Site When It Hops Into the Box |
ADR-280 |
D1→D28, D2→D29, D3→D20 |
| 241 |
A Library’s Error Travels in an Envelope Too |
ADR-280 |
D1→D13, D2→D14, D3→D10 |
| 242 |
A match Over a Place Lends What an Arm Only Reads |
ADR-291 |
D1→D22, D2→D23, D3→D24 |
| 244 |
What a pub Function Promises About Pausing |
ADR-288 |
D1→D28, D2→D29, D3→D30, D4→D31, D5→D32 |
| 248 |
u64 and u32 Join the Integer Types, and Integers Have Bit Operators |
ADR-285 |
D1→D3, D2→D19, D3→D9, D4→D10, D5→D11, D6→D4 |
| 249 |
A Number Without an Annotation Is Typed by Its Uses, and This Compiler Decides It |
ADR-285 |
D1→D23, D2→D24, D3→D25, D4→D27, D5→D30 |
| 250 |
Stage 1 Is Reached a Module at a Time, Leaves First, and the Share Is Measured |
ADR-294 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5 |
| 252 |
The Syntax Tree Moves to Nikaia Whole, and a Span Is Two u32 |
ADR-294 |
D1→D6, D2→D7, D3→D8, D4→D9, D5→D10, D6→D11 |
| 254 |
A Checked Statement Runs on a Connection It Names as Its Subject, and the Connection’s Type Carries Its Schema |
ADR-299 |
D1→D7, D2→D8, D3→D9, D4→D10, D5→D11 |
| 255 |
A Jump May Carry Its Condition After It |
ADR-276 |
D1→D23, D2→D24, D3→D25, D4→D26 |
| 257 |
The Checker’s Types Move to Nikaia, and a Measurement Decides Their Shape First |
ADR-294 |
D1→D12, D2→D13, D3→D14, D4→D15, D5→D16 |
| 259 |
?? Lends Its Left Side Where the Answer Is Read, and Takes It Where It Is Kept |
ADR-279 |
D1→D5, D2→D6, D3→D7 |
| 261 |
The Toolchain’s Nikaia Is One Package |
ADR-294 |
D1→D17, D2→D18, D3→D19, D4→D20 |
| 262 |
The Grammar Parses the Holes of an f"…" |
ADR-309 |
D1→D5, D2→D6, D3→D7, D4→D8, D5→D9, D6→D10 |
| 264 |
An assert Is a Contract — Proved Where the Compiler Can, Checked Where It Cannot, and a Test Is a Block |
ADR-269 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5, D6→D6, D7→D7, D8→D8, D9→D9, D10→D10, D11→D11, D12→D12, D13→D13 |
| 265 |
The Prover Is a Frontend, a Logic, and a Solver — and the Logic Is Built for a Parallel Solver Written in Nikaia |
ADR-270 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5, D6→D6, D7→D7, D8→D8 |
| 266 |
A Written assert Is a Published Contract, Placed by Computing Back to the Entry — a Guard Is Only Observed |
ADR-269 |
D1→D14, D2→D15, D3→D16, D4→D17, D5→D18, D6→D19, D7→D20, D8→D21 |
| 267 |
The Solver Is a CDCL(T) Engine with One Small Proof Format, Built on a Measured Workload and Aimed at QF_LIA |
ADR-270 |
D1→D9, D2→D10, D3→D11, D4→D5, D5→D12, D6→D13, D7→D14, D8→D15, D9→D16, D10→D17, D11→D18, D12→D8 |
| 268 |
The Search Is Free; What a Build Uses Is a Committed Proof File |
ADR-270 |
D1→D4, D2→D4, D3→D19, D4→D20, D5→D21, D6→D22, D7→D23, D8→D15 |
| 271 |
An Index Check a Proof Shows Unneeded Is Not Emitted — --optimization=remove-bounds-checks:basic|aggressive |
ADR-306 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D5, D6→D11 |
| 272 |
What Every Write Into a List Keeps In Bounds Is Known of Every Read From It |
ADR-306 |
D1→D6, D2→D7, D3→D8, D4→D9, D5→D10, D6→D11 |
| 273 |
A Map of T? Values Reads One T?, and Writing null Stores It |
ADR-293 |
D1→D12, D2→D13, D3→D14, D4→D15 |
| 274 |
Where ??’s Answer Is Only Read, a Value That Is a Word by Its Kind Is Copied and Everything Else Is Lent |
ADR-279 |
D1→D8, D2→D9 |
| 275 |
A Borrowed Left Side of ?? Beside a Jump Is a View Wherever It Stands |
ADR-279 |
D1→D10, D2→D11 |
| async-1 |
async Starts a Child That Runs Beside the Code After It and Is Waited For Where Its Name Is First Used; overlap and task::scope Are Removed |
ADR-async-5 |
D1→D5, D2→D6, D3→D30 (its jumps D10), D4→D9, D5→D9 (its captures D2), D6→D15, D7→D8, D8→D7, D9→D21, D10→D14 (task::cancel removed), D11→D20, D12→D32, D13→D4, D14→D18, D15→D19, D16→D22, D17→D23, D18→D10, D19→D33 |
| async-2 |
Fan-Out Over a Collection Is the par_iter Chain, Whose Lambdas May Pause; the Compiler Picks Pieces or One Task per Element, Under One Rule Set; the async Loop Is Removed |
ADR-async-5 |
D1→D24, D2→D25, D3→D26, D4→D27, D5→D32, D6→D28, D7→D30, D8→D30, D9→D29 |
| async-3 |
Every Task Is Started in a Group and Lives at Most as Long as It; One Word, async, Starts Every Task, and spawn Becomes Its Option |
ADR-async-5 |
D1→D1, D2→D2, D3→D3, D4→D4, D5→D13, D6→D4, D7→D16 |
| async-4 |
async Is an Expression Prefix; async e Is Waited Where Its Value Is First Needed, async(handle) Gives a Handle Bound to the Group, and Only a Handle Is Cancelled |
ADR-async-5 |
D1→D5, D2→D6, D3→D7, D4→D11, D5→D12, D6→D13, D7→D9, D8→D31, D9→D10, D10→D14, D11→D22, D12→D33, D13→D34, D14→D17, D15→D16 |