From 7ffcedf6659d30c4a076d89b2586b385ad2f2d16 Mon Sep 17 00:00:00 2001 From: Caio Date: Wed, 4 Jan 2023 16:44:30 -0300 Subject: Move tests --- src/test/ui/enum-discriminant/issue-72554.rs | 22 ++++++++++++++++++++++ src/test/ui/enum-discriminant/issue-72554.stderr | 17 +++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 src/test/ui/enum-discriminant/issue-72554.rs create mode 100644 src/test/ui/enum-discriminant/issue-72554.stderr (limited to 'src/test/ui/enum-discriminant') diff --git a/src/test/ui/enum-discriminant/issue-72554.rs b/src/test/ui/enum-discriminant/issue-72554.rs new file mode 100644 index 00000000000..54f7e9ac592 --- /dev/null +++ b/src/test/ui/enum-discriminant/issue-72554.rs @@ -0,0 +1,22 @@ +use std::collections::BTreeSet; + +#[derive(Hash)] +pub enum ElemDerived { + //~^ ERROR recursive type `ElemDerived` has infinite size + A(ElemDerived) +} + + +pub enum Elem { + Derived(ElemDerived) +} + +pub struct Set(BTreeSet); + +impl Set { + pub fn into_iter(self) -> impl Iterator { + self.0.into_iter() + } +} + +fn main() {} diff --git a/src/test/ui/enum-discriminant/issue-72554.stderr b/src/test/ui/enum-discriminant/issue-72554.stderr new file mode 100644 index 00000000000..d12be539f7c --- /dev/null +++ b/src/test/ui/enum-discriminant/issue-72554.stderr @@ -0,0 +1,17 @@ +error[E0072]: recursive type `ElemDerived` has infinite size + --> $DIR/issue-72554.rs:4:1 + | +LL | pub enum ElemDerived { + | ^^^^^^^^^^^^^^^^^^^^ +LL | +LL | A(ElemDerived) + | ----------- recursive without indirection + | +help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to break the cycle + | +LL | A(Box) + | ++++ + + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0072`. -- cgit 1.4.1-3-g733a5