diff options
| author | Michael Goulet <michael@errs.io> | 2024-10-15 15:24:22 -0400 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2024-10-24 02:48:28 +0000 |
| commit | 4217b8702dcd4e45ea506dd0fc8e1cec6115d52a (patch) | |
| tree | 7d3e6cefc11909984e04928368e4d57af726f853 /tests/ui | |
| parent | 1920c66a8d96978e0d0e5db318fa3e0fb2e0f37e (diff) | |
| download | rust-4217b8702dcd4e45ea506dd0fc8e1cec6115d52a.tar.gz rust-4217b8702dcd4e45ea506dd0fc8e1cec6115d52a.zip | |
Deeply normalize type trace in type error reporting
Diffstat (limited to 'tests/ui')
| -rw-r--r-- | tests/ui/traits/next-solver/diagnostics/deeply-normalize-type-expectation.rs | 17 | ||||
| -rw-r--r-- | tests/ui/traits/next-solver/diagnostics/deeply-normalize-type-expectation.stderr | 17 |
2 files changed, 34 insertions, 0 deletions
diff --git a/tests/ui/traits/next-solver/diagnostics/deeply-normalize-type-expectation.rs b/tests/ui/traits/next-solver/diagnostics/deeply-normalize-type-expectation.rs new file mode 100644 index 00000000000..5c53b745933 --- /dev/null +++ b/tests/ui/traits/next-solver/diagnostics/deeply-normalize-type-expectation.rs @@ -0,0 +1,17 @@ +//@ compile-flags: -Znext-solver + +// Make sure we try to mention a deeply normalized type in a type mismatch error. + +trait Mirror { + type Assoc; +} +impl<T> Mirror for T { + type Assoc = T; +} + +fn needs<T>(_: <T as Mirror>::Assoc) {} + +fn main() { + needs::<i32>(()); + //~^ ERROR mismatched types +} diff --git a/tests/ui/traits/next-solver/diagnostics/deeply-normalize-type-expectation.stderr b/tests/ui/traits/next-solver/diagnostics/deeply-normalize-type-expectation.stderr new file mode 100644 index 00000000000..88643945863 --- /dev/null +++ b/tests/ui/traits/next-solver/diagnostics/deeply-normalize-type-expectation.stderr @@ -0,0 +1,17 @@ +error[E0308]: mismatched types + --> $DIR/deeply-normalize-type-expectation.rs:15:18 + | +LL | needs::<i32>(()); + | ------------ ^^ expected `i32`, found `()` + | | + | arguments to this function are incorrect + | +note: function defined here + --> $DIR/deeply-normalize-type-expectation.rs:12:4 + | +LL | fn needs<T>(_: <T as Mirror>::Assoc) {} + | ^^^^^ ----------------------- + +error: aborting due to 1 previous error + +For more information about this error, try `rustc --explain E0308`. |
