@@ -61,7 +61,7 @@ $(P Functions with the `@live` attribute enable diagnosing these sorts of errors
61
61
tracking the status of owner pointers.
62
62
)
63
63
64
- $(H2 Ownership/Borrowing)
64
+ $(H2 $(LNAME2 ob, Ownership/Borrowing) )
65
65
66
66
$(P Tracking the ownership status of a pointer can be safely extended by adding the
67
67
capability of temporarilly $(I borrowing) ownership of a pointer from the $(I owner).
@@ -109,7 +109,7 @@ $(P It will not detect attempts to dereference `null` pointers or possibly
109
109
of annotating a type as a non-`null` pointer.
110
110
)
111
111
112
- $(H3 Tracked Pointers)
112
+ $(H3 $(LNAME2 tracked, Tracked Pointers) )
113
113
114
114
$(P The only pointers that are tracked are those declared in the `@live` function
115
115
as `this`, function parameters or local variables. Variables from other
@@ -120,7 +120,7 @@ Parameters that are `const` are not tracked.
120
120
)
121
121
122
122
123
- $(H3 Pointer States)
123
+ $(H3 $(LNAME2 state, Pointer States) )
124
124
125
125
$(P Each tracked pointer is in one of the following states:
126
126
)
@@ -163,7 +163,7 @@ must not be a pointer to mutable.
163
163
)
164
164
)
165
165
166
- $(H3 Lifetimes)
166
+ $(H3 $(LNAME2 lifetime, Lifetimes) )
167
167
168
168
$(P The lifetime of a Borrowed or Readonly pointer value starts when it is
169
169
assigned a value from an Owner or another Borrowed pointer, and ends at
@@ -174,7 +174,7 @@ $(P This is also known as $(I Non-Lexical Lifetimes).
174
174
)
175
175
176
176
177
- $(H3 Pointer State Transitions)
177
+ $(H3 $(LNAME2 transition, Pointer State Transitions) )
178
178
179
179
$(P A pointer changes its state when one of these operations is done to it:
180
180
)
@@ -214,7 +214,7 @@ $(LI merging of control flow reconciles the state of each variable based on the
214
214
states they have from each edge)
215
215
)
216
216
217
- $(H3 Borrowers can be Owners)
217
+ $(H3 $(LNAME2 borrower, Borrowers can be Owners) )
218
218
219
219
$(P Borrowers are considered Owners if they are initialized from other than
220
220
a pointer.
@@ -229,7 +229,7 @@ a pointer.
229
229
230
230
---
231
231
232
- $(H3 Exceptions)
232
+ $(H3 $(LNAME2 exception, Exceptions) )
233
233
234
234
$(P The analysis assumes no exceptions are thrown.
235
235
)
@@ -258,12 +258,12 @@ $(P One solution is to use `scope(exit)`:
258
258
$(P or use RAII objects or call only `nothrow` functions.
259
259
)
260
260
261
- $(H3 Lazy Parameters)
261
+ $(H3 $(LNAME2 lazy, Lazy Parameters) )
262
262
263
263
$(P Lazy parameters are not considered.
264
264
)
265
265
266
- $(H3 Mixing Memory Pools)
266
+ $(H3 $(LNAME2 mempool, Mixing Memory Pools) )
267
267
268
268
$(P Conflation of different memory pools:
269
269
)
@@ -298,7 +298,7 @@ vfree(p); // type mismatch
298
298
$(P and perhaps disabling implicit conversions to `void*` in `@live` functions.
299
299
)
300
300
301
- $(H3 Variadic Function Arguments)
301
+ $(H3 $(LNAME2 vargs, Variadic Function Arguments) )
302
302
303
303
$(P Arguments to variadic functions (such as `printf`) are considered to be consumed.
304
304
)
0 commit comments