File tree 1 file changed +3
-4
lines changed
1 file changed +3
-4
lines changed Original file line number Diff line number Diff line change @@ -64,7 +64,6 @@ The *layout* of a type defines:
64
64
Note: Originally, * layout* and * representation* were treated as synonyms, and Rust language features like the ` #[repr] ` attribute reflect this.
65
65
In this document, * layout* and * representation* are not synonyms.
66
66
67
- <<<<<<< HEAD
68
67
#### Niche
69
68
70
69
The * niche* of a type determines invalid bit-patterns that will be used by layout optimizations.
@@ -78,16 +77,16 @@ While all niches are invalid bit-patterns, not all invalid bit-patterns are
78
77
niches. For example, the "all bits uninitialized" is an invalid bit-pattern for
79
78
` &mut T ` , but this bit-pattern cannot be used by layout optimizations, and is not a
80
79
niche.
81
- =======
80
+
82
81
Note: due to discriminant-elision optimizations, niches are required to compute
83
82
the layout of, e.g., ` Option<T> ` , from the layout of ` T ` .
84
- > > > > > > > Add note about why niches need to be part of the layout
83
+
85
84
86
85
#### Call ABI
87
86
88
87
The * call ABI* determines how a type is passed * by value* across a function boundary.
89
88
90
- Note: The call ABI is not stable. Currently, it is one of:
89
+ Note: The set of possible call ABIs is not stable. Currently, it consists of:
91
90
92
91
``` rust,ignore
93
92
enum Abi {
You can’t perform that action at this time.
0 commit comments