| ... | @@ -2138,6 +2138,7 @@ or | ... | @@ -2138,6 +2138,7 @@ or |
| 2138 | </p> | 2138 | </p> |
| 2139 | {#code|struct_default_field_values.zig#} | 2139 | {#code|struct_default_field_values.zig#} |
| 2140 | | 2140 | |
| | 2141 | {#header_open|Faulty Default Field Values#} |
| 2141 | <p> | 2142 | <p> |
| 2142 | Default field values are only appropriate when the data invariants of a struct | 2143 | Default field values are only appropriate when the data invariants of a struct |
| 2143 | cannot be violated by omitting that field from an initialization. | 2144 | cannot be violated by omitting that field from an initialization. |
| ... | @@ -2162,6 +2163,7 @@ or | ... | @@ -2162,6 +2163,7 @@ or |
| 2162 | without violating data invariants, then use an initialization method that accepts | 2163 | without violating data invariants, then use an initialization method that accepts |
| 2163 | those runtime values, and populates the remaining fields.</p> | 2164 | those runtime values, and populates the remaining fields.</p> |
| 2164 | {#header_close#} | 2165 | {#header_close#} |
| | 2166 | {#header_close#} |
| 2165 | | 2167 | |
| 2166 | {#header_open|extern struct#} | 2168 | {#header_open|extern struct#} |
| 2167 | <p>An {#syntax#}extern struct{#endsyntax#} has in-memory layout matching | 2169 | <p>An {#syntax#}extern struct{#endsyntax#} has in-memory layout matching |