mirror of
https://github.com/rust-lang/rust.git
synced 2025-12-02 18:07:50 +00:00
Default sizedness bounds were not being added to `explicit_super_predicates_of` and `explicit_implied_predicates_of` which meant that a trait bound added to a associated type projection would be missing the implied predicate of the default sizedness supertrait of that trait. An unexpected consequence of this change was that the check for multiple principals was now finding an additional `MetaSized` principal when eagerly expanding trait aliases. Instead of special-casing trait aliases as different from traits and not adding a `MetaSized` supertrait to trait aliases, filter out `MetaSized` when lowering `dyn Trait`.
52 lines
1.6 KiB
Plaintext
52 lines
1.6 KiB
Plaintext
error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc: A<T>`
|
|
--> $DIR/normalize-param-env-2.rs:24:22
|
|
|
|
|
LL | Self::Assoc: A<T>,
|
|
| ^^^^
|
|
|
|
|
note: the requirement `<() as A<T>>::Assoc: A<T>` appears on the `impl`'s associated function `f` but not on the corresponding trait's associated function
|
|
--> $DIR/normalize-param-env-2.rs:12:8
|
|
|
|
|
LL | trait A<T> {
|
|
| - in this trait
|
|
...
|
|
LL | fn f()
|
|
| ^ this trait's associated function doesn't have the requirement `<() as A<T>>::Assoc: A<T>`
|
|
|
|
error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc: A<T>`
|
|
--> $DIR/normalize-param-env-2.rs:24:22
|
|
|
|
|
LL | Self::Assoc: A<T>,
|
|
| ^^^^
|
|
|
|
error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc well-formed`
|
|
--> $DIR/normalize-param-env-2.rs:24:22
|
|
|
|
|
LL | Self::Assoc: A<T>,
|
|
| ^^^^
|
|
|
|
error[E0275]: overflow evaluating the requirement `(): A<T>`
|
|
--> $DIR/normalize-param-env-2.rs:27:10
|
|
|
|
|
LL | <() as A<T>>::f();
|
|
| ^^
|
|
|
|
error[E0275]: overflow evaluating the requirement `<() as A<T>>::Assoc: A<T>`
|
|
--> $DIR/normalize-param-env-2.rs:27:9
|
|
|
|
|
LL | <() as A<T>>::f();
|
|
| ^^^^^^^^^^^^^^^^^
|
|
|
|
|
note: required by a bound in `A::f`
|
|
--> $DIR/normalize-param-env-2.rs:14:22
|
|
|
|
|
LL | fn f()
|
|
| - required by a bound in this associated function
|
|
LL | where
|
|
LL | Self::Assoc: A<T>,
|
|
| ^^^^ required by this bound in `A::f`
|
|
|
|
error: aborting due to 5 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0275`.
|