diff options
| author | Caio <c410.f3r@gmail.com> | 2024-04-21 15:43:43 -0300 |
|---|---|---|
| committer | Caio <c410.f3r@gmail.com> | 2024-04-21 15:43:43 -0300 |
| commit | 3aaa3941fd62fb4aeea559eafe8a6aa6472eb87d (patch) | |
| tree | 370d74ef8239f923cae41848afd9e71648850de3 /tests/ui/enum | |
| parent | fecb7b43093e4fa59e2d366e88bf0085ce350f29 (diff) | |
| download | rust-3aaa3941fd62fb4aeea559eafe8a6aa6472eb87d.tar.gz rust-3aaa3941fd62fb4aeea559eafe8a6aa6472eb87d.zip | |
Move some tests
Diffstat (limited to 'tests/ui/enum')
| -rw-r--r-- | tests/ui/enum/auxiliary/issue-19340-1.rs | 3 | ||||
| -rw-r--r-- | tests/ui/enum/issue-19340-1.rs | 17 | ||||
| -rw-r--r-- | tests/ui/enum/issue-19340-2.rs | 24 | ||||
| -rw-r--r-- | tests/ui/enum/issue-23304-1.rs | 25 | ||||
| -rw-r--r-- | tests/ui/enum/issue-23304-2.rs | 13 |
5 files changed, 82 insertions, 0 deletions
diff --git a/tests/ui/enum/auxiliary/issue-19340-1.rs b/tests/ui/enum/auxiliary/issue-19340-1.rs new file mode 100644 index 00000000000..39ee36b8b91 --- /dev/null +++ b/tests/ui/enum/auxiliary/issue-19340-1.rs @@ -0,0 +1,3 @@ +pub enum Homura { + Madoka { name: String }, +} diff --git a/tests/ui/enum/issue-19340-1.rs b/tests/ui/enum/issue-19340-1.rs new file mode 100644 index 00000000000..c1ba0d23b6f --- /dev/null +++ b/tests/ui/enum/issue-19340-1.rs @@ -0,0 +1,17 @@ +//@ run-pass +#![allow(unused_variables)] +//@ aux-build:issue-19340-1.rs + +//@ pretty-expanded FIXME #23616 + +extern crate issue_19340_1 as lib; + +use lib::Homura; + +fn main() { + let homura = Homura::Madoka { name: "Kaname".to_string() }; + + match homura { + Homura::Madoka { name } => (), + }; +} diff --git a/tests/ui/enum/issue-19340-2.rs b/tests/ui/enum/issue-19340-2.rs new file mode 100644 index 00000000000..dd1bda78a97 --- /dev/null +++ b/tests/ui/enum/issue-19340-2.rs @@ -0,0 +1,24 @@ +//@ run-pass +#![allow(unused_variables)] +//@ pretty-expanded FIXME #23616 + +enum Homura { + Madoka { + name: String, + age: u32, + }, +} + +fn main() { + let homura = Homura::Madoka { + name: "Akemi".to_string(), + age: 14, + }; + + match homura { + Homura::Madoka { + name, + age, + } => (), + }; +} diff --git a/tests/ui/enum/issue-23304-1.rs b/tests/ui/enum/issue-23304-1.rs new file mode 100644 index 00000000000..6b80646704a --- /dev/null +++ b/tests/ui/enum/issue-23304-1.rs @@ -0,0 +1,25 @@ +//@ run-pass +#![allow(dead_code)] + +#[repr(u8)] +#[allow(dead_code)] +enum ValueType { + DOUBLE = 0x00, + INT32 = 0x01, +} + +#[repr(u32)] +enum ValueTag { + INT32 = 0x1FFF0u32 | (ValueType::INT32 as u32), + X, +} + +#[repr(u64)] +enum ValueShiftedTag { + INT32 = ValueTag::INT32 as u64, + X, +} + +fn main() { + println!("{}", ValueTag::INT32 as u32); +} diff --git a/tests/ui/enum/issue-23304-2.rs b/tests/ui/enum/issue-23304-2.rs new file mode 100644 index 00000000000..17eb79e93d2 --- /dev/null +++ b/tests/ui/enum/issue-23304-2.rs @@ -0,0 +1,13 @@ +//@ run-pass +#![allow(dead_code)] + +enum X { A = 42 as isize } + +enum Y { A = X::A as isize } + +fn main() { + let x = X::A; + let x = x as isize; + assert_eq!(x, 42); + assert_eq!(Y::A as isize, 42); +} |
