Skip to content

Commit

Permalink
Fix footnote syntax
Browse files Browse the repository at this point in the history
  • Loading branch information
CAD97 authored Oct 4, 2022
1 parent 5260de8 commit 1aa06cc
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions src/design_notes/dynsized_constraints.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,10 @@ There are three potential resolutions that handle both size and alignment unifor

- Store layout information in the `ArcInner` header, or
- Require that layout be determined solely from pointee metadata, or
- Require that layout be determinable from a dropped pointee.
[^This is trivially the case if determining the layout does not read the pointee (i.e. is derivable by just the potentially wide pointer);
alternatively, the pointee could ensure that layout information (e.g. vtable pointer) remains valid to read even after it's been dropped.]
- Require that layout be determinable from a dropped pointee.[^why]

[^why]: This is trivially the case if determining the layout does not read the pointee (i.e. is derivable by just the potentially wide pointer);
alternatively, the pointee could ensure that layout information (e.g. vtable pointer) remains valid to read even after it's been dropped.]

Dealing with alignment can be simplified by changing `Arc<T>` from storing `*mut ArcInner<T>` to
storing `*mut T` and storing the refcount metadata at a fixed negative offset independent of `T`.
Expand Down

0 comments on commit 1aa06cc

Please sign in to comment.