From cca9e63d70ce23d2c042a02fe4ac212ef967784f Mon Sep 17 00:00:00 2001 From: Yuki Okushi <jtitor@2k36.org> Date: Wed, 25 May 2022 22:14:20 +0900 Subject: [PATCH] Add regression test for #82830 --- src/test/ui/traits/issue-82830.rs | 16 ++++++++++++++++ src/test/ui/traits/issue-82830.stderr | 15 +++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 src/test/ui/traits/issue-82830.rs create mode 100644 src/test/ui/traits/issue-82830.stderr diff --git a/src/test/ui/traits/issue-82830.rs b/src/test/ui/traits/issue-82830.rs new file mode 100644 index 00000000000..c8289b2e30b --- /dev/null +++ b/src/test/ui/traits/issue-82830.rs @@ -0,0 +1,16 @@ +trait A<Y, N> { + type B; +} + +type MaybeBox<T> = <T as A<T, Box<T>>>::B; +struct P { + t: MaybeBox<P>, //~ ERROR: overflow evaluating the requirement `P: Sized` +} + +impl<Y, N> A<Y, N> for P { + type B = N; +} + +fn main() { + let t: MaybeBox<P>; +} diff --git a/src/test/ui/traits/issue-82830.stderr b/src/test/ui/traits/issue-82830.stderr new file mode 100644 index 00000000000..f863143c738 --- /dev/null +++ b/src/test/ui/traits/issue-82830.stderr @@ -0,0 +1,15 @@ +error[E0275]: overflow evaluating the requirement `P: Sized` + --> $DIR/issue-82830.rs:7:8 + | +LL | t: MaybeBox<P>, + | ^^^^^^^^^^^ + | +note: required because of the requirements on the impl of `A<P, Box<P>>` for `P` + --> $DIR/issue-82830.rs:10:12 + | +LL | impl<Y, N> A<Y, N> for P { + | ^^^^^^^ ^ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0275`.