@@ -106,10 +106,11 @@ modifiers will be the solution for some of these flags.
106
106
The Rust compiler has many flags that affect how source code is turned into
107
107
machine code. Some flags can be turned on and off for each CU (compilation
108
108
unit) in your project separately, and other flags must be applied to the entire
109
- application as a whole. Usually flags are in the latter category because they
110
- change some aspect of the ABI. For example, ` -Zreg-struct-return ` changes how
111
- to return a struct from a function call, and both the caller and callee must
112
- agree on how to do that even if they are in different CUs.
109
+ application as a whole. The typical reason for flags to be in the latter
110
+ category is that change some aspect of the ABI. For example,
111
+ ` -Zreg-struct-return ` changes how to return a struct from a function call, and
112
+ both the caller and callee must agree on how to do that even if they are in
113
+ different CUs.
113
114
114
115
The Rust compiler will detect if you incorrectly use a flag that must be
115
116
applied to the application as a whole. For example, if you compile the standard
@@ -230,7 +231,9 @@ This RFC does not propose this solution because:
230
231
231
232
Because the ` target.json ` feature is perma-unstable, and this RFC primarily
232
233
concerns itself with unblocking the _ stabilization_ of these flags. Adding
233
- target modifiers as unstable flags is already happening today.
234
+ target modifiers as unstable flags is already happening today. (However, if
235
+ this RFC gets accepted, it becomes a soundness bug to add such unstable flags
236
+ without wiring them up with the target modifier machinery.)
234
237
235
238
One possible alternative would be to stabilize a subset of ` target.json ` .
236
239
However, I don't think there's much benefit to this. It just means that you now
0 commit comments