diff options
| author | bors <bors@rust-lang.org> | 2024-07-26 20:14:16 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-07-26 20:14:16 +0000 |
| commit | 7c2012d0ec3aae89fefc40e5d6b317a0949cda36 (patch) | |
| tree | 50993e684ae086ee44409abd47a29e0ff5dcca36 /compiler/rustc_span/src | |
| parent | 47243b335e02c341528dd3beb77fa0e030d7ccda (diff) | |
| parent | fd9d0bfbacc2d5af183ba394ca16cb2581dab02d (diff) | |
| download | rust-7c2012d0ec3aae89fefc40e5d6b317a0949cda36.tar.gz rust-7c2012d0ec3aae89fefc40e5d6b317a0949cda36.zip | |
Auto merge of #121676 - Bryanskiy:polarity, r=petrochenkov
Support ?Trait bounds in supertraits and dyn Trait under a feature gate
This patch allows `maybe` polarity bounds under a feature gate. The only language change here is that corresponding hard errors are replaced by feature gates. Example:
```rust
#![feature(allow_maybe_polarity)]
...
trait Trait1 : ?Trait { ... } // ok
fn foo(_: Box<(dyn Trait2 + ?Trait)>) {} // ok
fn bar<T: ?Sized + ?Trait>(_: &T) {} // ok
```
Maybe bounds still don't do anything (except for `Sized` trait), however this patch will allow us to [experiment with default auto traits](https://github.com/rust-lang/rust/pull/120706#issuecomment-1934006762).
This is a part of the [MCP: Low level components for async drop](https://github.com/rust-lang/compiler-team/issues/727)
Diffstat (limited to 'compiler/rustc_span/src')
| -rw-r--r-- | compiler/rustc_span/src/symbol.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/rustc_span/src/symbol.rs b/compiler/rustc_span/src/symbol.rs index 6d58c4877cb..cfd263d5951 100644 --- a/compiler/rustc_span/src/symbol.rs +++ b/compiler/rustc_span/src/symbol.rs @@ -1230,6 +1230,7 @@ symbols! { modifiers, module, module_path, + more_maybe_bounds, more_qualified_paths, more_struct_aliases, movbe_target_feature, |
