diff options
| author | bors <bors@rust-lang.org> | 2025-08-19 14:43:48 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2025-08-19 14:43:48 +0000 |
| commit | 16ad385579cebb6f7d53367c552661b6b51a4a02 (patch) | |
| tree | 9127978a6da3066df8319d286ccfa6ec8451b969 /tests/ui/enum | |
| parent | 8c32e313cccf7df531e2d49ffb8227bb92304aee (diff) | |
| parent | 5d37e8e707e74a0820e1171f200d45fd2b8fa13c (diff) | |
| download | rust-16ad385579cebb6f7d53367c552661b6b51a4a02.tar.gz rust-16ad385579cebb6f7d53367c552661b6b51a4a02.zip | |
Auto merge of #145599 - jieyouxu:rollup-523cxhm, r=jieyouxu
Rollup of 15 pull requests Successful merges: - rust-lang/rust#139345 (Extend `QueryStability` to handle `IntoIterator` implementations) - rust-lang/rust#140740 (Add `-Zindirect-branch-cs-prefix`) - rust-lang/rust#142079 (nll-relate: improve hr opaque types support) - rust-lang/rust#142938 (implement std::fs::set_permissions_nofollow on unix) - rust-lang/rust#143730 (fmt of non-decimal radix untangled) - rust-lang/rust#144767 (Correct some grammar in integer documentation) - rust-lang/rust#144906 (Require approval from t-infra instead of t-release on tier bumps) - rust-lang/rust#144983 (Rehome 37 `tests/ui/issues/` tests to other subdirectories under `tests/ui/`) - rust-lang/rust#145025 (run spellcheck as a tidy extra check in ci) - rust-lang/rust#145099 (rustc_target: Add the `32s` target feature for LoongArch) - rust-lang/rust#145166 (suggest using `pub(crate)` for E0364) - rust-lang/rust#145255 (dec2flt: Provide more valid inputs examples) - rust-lang/rust#145306 (Add tracing to various miscellaneous functions) - rust-lang/rust#145336 (Hide docs for `core::unicode`) - rust-lang/rust#145585 (Miri: fix handling of in-place argument and return place handling) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'tests/ui/enum')
| -rw-r--r-- | tests/ui/enum/enum-discriminant-type-mismatch-8761.rs | 11 | ||||
| -rw-r--r-- | tests/ui/enum/enum-discriminant-type-mismatch-8761.stderr | 27 | ||||
| -rw-r--r-- | tests/ui/enum/enum-variant-field-error-80607.rs | 11 | ||||
| -rw-r--r-- | tests/ui/enum/enum-variant-field-error-80607.stderr | 18 | ||||
| -rw-r--r-- | tests/ui/enum/simple-enum-usage-8506.rs | 14 |
5 files changed, 81 insertions, 0 deletions
diff --git a/tests/ui/enum/enum-discriminant-type-mismatch-8761.rs b/tests/ui/enum/enum-discriminant-type-mismatch-8761.rs new file mode 100644 index 00000000000..ae09b919dc1 --- /dev/null +++ b/tests/ui/enum/enum-discriminant-type-mismatch-8761.rs @@ -0,0 +1,11 @@ +// https://github.com/rust-lang/rust/issues/8761 +enum Foo { + A = 1i64, + //~^ ERROR mismatched types + //~| NOTE expected `isize`, found `i64` + B = 2u8 + //~^ ERROR mismatched types + //~| NOTE expected `isize`, found `u8` +} + +fn main() {} diff --git a/tests/ui/enum/enum-discriminant-type-mismatch-8761.stderr b/tests/ui/enum/enum-discriminant-type-mismatch-8761.stderr new file mode 100644 index 00000000000..f1645183e17 --- /dev/null +++ b/tests/ui/enum/enum-discriminant-type-mismatch-8761.stderr @@ -0,0 +1,27 @@ +error[E0308]: mismatched types + --> $DIR/enum-discriminant-type-mismatch-8761.rs:3:9 + | +LL | A = 1i64, + | ^^^^ expected `isize`, found `i64` + | +help: change the type of the numeric literal from `i64` to `isize` + | +LL - A = 1i64, +LL + A = 1isize, + | + +error[E0308]: mismatched types + --> $DIR/enum-discriminant-type-mismatch-8761.rs:6:9 + | +LL | B = 2u8 + | ^^^ expected `isize`, found `u8` + | +help: change the type of the numeric literal from `u8` to `isize` + | +LL - B = 2u8 +LL + B = 2isize + | + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0308`. diff --git a/tests/ui/enum/enum-variant-field-error-80607.rs b/tests/ui/enum/enum-variant-field-error-80607.rs new file mode 100644 index 00000000000..aa3f2f7c526 --- /dev/null +++ b/tests/ui/enum/enum-variant-field-error-80607.rs @@ -0,0 +1,11 @@ +// https://github.com/rust-lang/rust/issues/80607 +// This tests makes sure the diagnostics print the offending enum variant, not just the type. +pub enum Enum { + V1(i32), +} + +pub fn foo(x: i32) -> Enum { + Enum::V1 { x } //~ ERROR `Enum::V1` has no field named `x` +} + +fn main() {} diff --git a/tests/ui/enum/enum-variant-field-error-80607.stderr b/tests/ui/enum/enum-variant-field-error-80607.stderr new file mode 100644 index 00000000000..8d088ef04bb --- /dev/null +++ b/tests/ui/enum/enum-variant-field-error-80607.stderr @@ -0,0 +1,18 @@ +error[E0559]: variant `Enum::V1` has no field named `x` + --> $DIR/enum-variant-field-error-80607.rs:8:16 + | +LL | V1(i32), + | -- `Enum::V1` defined here +... +LL | Enum::V1 { x } + | ^ field does not exist + | +help: `Enum::V1` is a tuple variant, use the appropriate syntax + | +LL - Enum::V1 { x } +LL + Enum::V1(/* i32 */) + | + +error: aborting due to 1 previous error + +For more information about this error, try `rustc --explain E0559`. diff --git a/tests/ui/enum/simple-enum-usage-8506.rs b/tests/ui/enum/simple-enum-usage-8506.rs new file mode 100644 index 00000000000..ebe095d84e4 --- /dev/null +++ b/tests/ui/enum/simple-enum-usage-8506.rs @@ -0,0 +1,14 @@ +// https://github.com/rust-lang/rust/issues/8506 +//@ run-pass +#![allow(non_upper_case_globals)] + +#![allow(dead_code)] + +enum Either { + One, + Other(String,String) +} + +static one : Either = Either::One; + +pub fn main () { } |
