Mark GAT WC as GoalSource::AliasWellFormed so that we recurse into them in error reporting

This commit is contained in:
Michael Goulet 2025-03-26 18:59:44 +00:00
parent 27836e1e57
commit ccdfd310be
4 changed files with 9 additions and 25 deletions

View file

@ -1,11 +1,3 @@
error[E0271]: type mismatch resolving `<[()] as Bad>::Assert normalizes-to <[()] as Bad>::Assert`
--> $DIR/trivial-unsized-projection.rs:20:12
|
LL | const FOO: <[()] as Bad>::Assert = todo!();
| ^^^^^^^^^^^^^^^^^^^^^ types differ
|
= note: statics and constants must have a statically known size
error[E0277]: the size for values of type `[()]` cannot be known at compilation time
--> $DIR/trivial-unsized-projection.rs:20:12
|
@ -47,15 +39,6 @@ help: consider relaxing the implicit `Sized` restriction
LL | type Assert: ?Sized
| ++++++++
error[E0271]: type mismatch resolving `<[()] as Bad>::Assert normalizes-to <[()] as Bad>::Assert`
--> $DIR/trivial-unsized-projection.rs:20:36
|
LL | const FOO: <[()] as Bad>::Assert = todo!();
| ^^^^^^^ types differ
|
= note: this error originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 2 previous errors
error: aborting due to 4 previous errors
Some errors have detailed explanations: E0271, E0277.
For more information about an error, try `rustc --explain E0271`.
For more information about this error, try `rustc --explain E0277`.

View file

@ -22,8 +22,6 @@ const FOO: <[()] as Bad>::Assert = todo!();
//[bad]~| ERROR the size for values of type `[()]` cannot be known at compilation time
//[bad_new]~^^^ ERROR the size for values of type `[()]` cannot be known at compilation time
//[bad_new]~| ERROR the size for values of type `[()]` cannot be known at compilation time
//[bad_new]~| ERROR type mismatch resolving `<[()] as Bad>::Assert normalizes-to <[()] as Bad>::Assert`
//[bad_new]~| ERROR type mismatch resolving `<[()] as Bad>::Assert normalizes-to <[()] as Bad>::Assert`
#[cfg(any(good, good_new))]
// Well-formed in trivially false param-env