File tree Expand file tree Collapse file tree 7 files changed +14
-11
lines changed
rfcs/rfc-1937-termination-trait Expand file tree Collapse file tree 7 files changed +14
-11
lines changed Original file line number Diff line number Diff line change @@ -420,7 +420,9 @@ impl DefPathData {
420420 pub fn name ( & self ) -> DefPathDataName {
421421 use self :: DefPathData :: * ;
422422 match * self {
423- TypeNs ( name) if name == kw:: Empty => DefPathDataName :: Anon { namespace : sym:: opaque } ,
423+ TypeNs ( name) if name == kw:: Empty => {
424+ DefPathDataName :: Anon { namespace : sym:: synthetic }
425+ }
424426 TypeNs ( name) | ValueNs ( name) | MacroNs ( name) | LifetimeNs ( name) => {
425427 DefPathDataName :: Named ( name)
426428 }
Original file line number Diff line number Diff line change @@ -1690,6 +1690,7 @@ symbols! {
16901690 suggestion,
16911691 sym,
16921692 sync,
1693+ synthetic,
16931694 t32,
16941695 target,
16951696 target_abi,
Original file line number Diff line number Diff line change 1- error[E0310]: the associated type `<Self as MyTrait>::{opaque #0}` may not live long enough
1+ error[E0310]: the associated type `<Self as MyTrait>::{synthetic #0}` may not live long enough
22 --> $DIR/async-and-ret-ref.rs:7:5
33 |
44LL | async fn foo() -> &'static impl T;
55 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
66 | |
7- | the associated type `<Self as MyTrait>::{opaque #0}` must be valid for the static lifetime...
7+ | the associated type `<Self as MyTrait>::{synthetic #0}` must be valid for the static lifetime...
88 | ...so that the reference type `&'static impl T` does not outlive the data it points at
99
1010error: aborting due to 1 previous error
Original file line number Diff line number Diff line change @@ -6,11 +6,11 @@ LL | fn bar() -> () {}
66 |
77 = help: the trait `std::fmt::Display` is not implemented for `()`
88 = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
9- note: required by a bound in `Foo::{opaque #0}`
9+ note: required by a bound in `Foo::{synthetic #0}`
1010 --> $DIR/doesnt-satisfy.rs:2:22
1111 |
1212LL | fn bar() -> impl std::fmt::Display;
13- | ^^^^^^^^^^^^^^^^^ required by this bound in `Foo::{opaque #0}`
13+ | ^^^^^^^^^^^^^^^^^ required by this bound in `Foo::{synthetic #0}`
1414
1515error: aborting due to 1 previous error
1616
Original file line number Diff line number Diff line change 1- error[E0310]: the associated type `<T as Original>::{opaque #0}` may not live long enough
1+ error[E0310]: the associated type `<T as Original>::{synthetic #0}` may not live long enough
22 --> $DIR/missing-static-bound-from-impl.rs:11:9
33 |
44LL | Box::new(<T as Original>::f())
55 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
66 | |
7- | the associated type `<T as Original>::{opaque #0}` must be valid for the static lifetime...
7+ | the associated type `<T as Original>::{synthetic #0}` must be valid for the static lifetime...
88 | ...so that the type `impl Fn()` will meet its required lifetime bounds
99
1010error: aborting due to 1 previous error
Original file line number Diff line number Diff line change @@ -5,11 +5,11 @@ LL | fn foo<F2: Foo<u8>>(self) -> impl Foo<u8> {
55 | ^^^^^^^^^^^^ the trait `Foo<char>` is not implemented for `impl Foo<u8>`
66 |
77 = help: the trait `Foo<char>` is implemented for `Bar`
8- note: required by a bound in `Foo::{opaque #0}`
8+ note: required by a bound in `Foo::{synthetic #0}`
99 --> $DIR/return-dont-satisfy-bounds.rs:2:30
1010 |
1111LL | fn foo<F2>(self) -> impl Foo<T>;
12- | ^^^^^^ required by this bound in `Foo::{opaque #0}`
12+ | ^^^^^^ required by this bound in `Foo::{synthetic #0}`
1313
1414error[E0276]: impl has stricter requirements than trait
1515 --> $DIR/return-dont-satisfy-bounds.rs:8:16
Original file line number Diff line number Diff line change @@ -4,11 +4,11 @@ error[E0277]: the trait bound `Something: Termination` is not satisfied
44LL | fn main() -> Something {
55 | ^^^^^^^^^ the trait `Termination` is not implemented for `Something`
66 |
7- note: required by a bound in `Main::{opaque #0}`
7+ note: required by a bound in `Main::{synthetic #0}`
88 --> $DIR/issue-103052-2.rs:5:27
99 |
1010LL | fn main() -> impl std::process::Termination;
11- | ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Main::{opaque #0}`
11+ | ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Main::{synthetic #0}`
1212
1313error: aborting due to 1 previous error
1414
You can’t perform that action at this time.
0 commit comments