diff options
| author | Caio <c410.f3r@gmail.com> | 2023-01-04 16:44:30 -0300 |
|---|---|---|
| committer | Caio <c410.f3r@gmail.com> | 2023-01-04 16:44:30 -0300 |
| commit | 7ffcedf6659d30c4a076d89b2586b385ad2f2d16 (patch) | |
| tree | a353326a3626b1f89d2c8a205b5cfc185c489495 /src/test/ui/enum-discriminant | |
| parent | b7cdb635c4b973572307ad288466fba64533369c (diff) | |
| download | rust-7ffcedf6659d30c4a076d89b2586b385ad2f2d16.tar.gz rust-7ffcedf6659d30c4a076d89b2586b385ad2f2d16.zip | |
Move tests
Diffstat (limited to 'src/test/ui/enum-discriminant')
| -rw-r--r-- | src/test/ui/enum-discriminant/issue-72554.rs | 22 | ||||
| -rw-r--r-- | src/test/ui/enum-discriminant/issue-72554.stderr | 17 |
2 files changed, 39 insertions, 0 deletions
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<Elem>); + +impl Set { + pub fn into_iter(self) -> impl Iterator<Item = Elem> { + 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<ElemDerived>) + | ++++ + + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0072`. |
