diff options
Diffstat (limited to 'src/test/ui/associated-types/impl-wf-cycle-1.rs')
-rw-r--r-- | src/test/ui/associated-types/impl-wf-cycle-1.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/ui/associated-types/impl-wf-cycle-1.rs b/src/test/ui/associated-types/impl-wf-cycle-1.rs new file mode 100644 index 000000000..365eddaed --- /dev/null +++ b/src/test/ui/associated-types/impl-wf-cycle-1.rs @@ -0,0 +1,27 @@ +// Regression test for #79714 + +trait Baz {} +impl Baz for () {} +impl<T> Baz for (T,) {} + +trait Fiz {} +impl Fiz for bool {} + +trait Grault { + type A; + type B; +} + +impl<T: Grault> Grault for (T,) +//~^ ERROR overflow evaluating the requirement `<(T,) as Grault>::A == _` +where + Self::A: Baz, + Self::B: Fiz, +{ + type A = (); + type B = bool; +} + +fn main() { + let x: <(_,) as Grault>::A = (); +} |