rust/compiler/rustc_trait_selection/src
bors be01dabfef Auto merge of #132027 - RalfJung:lang-feature-bool-fields, r=nnethercote
nightly feature tracking: get rid of the per-feature bool fields

The `struct Features` that tracks which features are enabled has a ton of public `bool`-typed fields that are basically caching the result of looking up the corresponding feature in `enabled_lang_features`. Having public fields with an invariant is not great, so at least they should be made private. However, it turns out caching these lookups is actually [not worth it](https://github.com/rust-lang/rust/pull/131321#issuecomment-2402068336), so this PR just entirely gets rid of these fields. (The alternative would be to make them private and have a method for each of them to expose them in a read-only way. Most of the diff of this PR would be the same in that case.)

r? `@nnethercote`
2024-10-23 12:16:41 +00:00
..
error_reporting nightly feature tracking: get rid of the per-feature bool fields 2024-10-23 09:14:41 +01:00
errors Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
solve remove unused field 2024-10-22 08:30:09 +02:00
traits nightly feature tracking: get rid of the per-feature bool fields 2024-10-23 09:14:41 +01:00
errors.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
infer.rs move defining_opaque_types out of Canonical 2024-10-17 10:22:52 +02:00
lib.rs Stabilize the map/value methods on ControlFlow 2024-09-25 19:00:17 -07:00
regions.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
solve.rs impossible obligations check fast path 2024-10-10 06:09:50 -04:00