diff options
| author | yanglsh <yanglsh@shanghaitech.edu.cn> | 2025-08-25 08:20:01 +0800 |
|---|---|---|
| committer | yanglsh <yanglsh@shanghaitech.edu.cn> | 2025-09-12 09:09:44 +0800 |
| commit | 066a9794dff5d2976f77cd54bac8d6ee8aaa6c6b (patch) | |
| tree | fddcd2eb628c77916100133d237ddb62a407026c /tests | |
| parent | 368b2355797b13511776f0a35ec4864468b87ece (diff) | |
| download | rust-066a9794dff5d2976f77cd54bac8d6ee8aaa6c6b.tar.gz rust-066a9794dff5d2976f77cd54bac8d6ee8aaa6c6b.zip | |
fix: `invalid_upcast_comparisons` wrongly unmangled macros
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui/invalid_upcast_comparisons.rs | 12 | ||||
| -rw-r--r-- | tests/ui/invalid_upcast_comparisons.stderr | 8 |
2 files changed, 19 insertions, 1 deletions
diff --git a/tests/ui/invalid_upcast_comparisons.rs b/tests/ui/invalid_upcast_comparisons.rs index 4f3194869f4..88ecca65e15 100644 --- a/tests/ui/invalid_upcast_comparisons.rs +++ b/tests/ui/invalid_upcast_comparisons.rs @@ -133,3 +133,15 @@ fn main() { -5 == (u32 as i32); } + +fn issue15662() { + macro_rules! add_one { + ($x:expr) => { + $x + 1 + }; + } + + let x: u8 = 1; + (add_one!(x) as u32) > 300; + //~^ invalid_upcast_comparisons +} diff --git a/tests/ui/invalid_upcast_comparisons.stderr b/tests/ui/invalid_upcast_comparisons.stderr index ef36f18eabc..cc042a7c4b0 100644 --- a/tests/ui/invalid_upcast_comparisons.stderr +++ b/tests/ui/invalid_upcast_comparisons.stderr @@ -163,5 +163,11 @@ error: because of the numeric bounds on `u8` prior to casting, this expression i LL | -5 >= (u8 as i32); | ^^^^^^^^^^^^^^^^^ -error: aborting due to 27 previous errors +error: because of the numeric bounds on `add_one!(x)` prior to casting, this expression is always false + --> tests/ui/invalid_upcast_comparisons.rs:145:5 + | +LL | (add_one!(x) as u32) > 300; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: aborting due to 28 previous errors |
