rust/tests/ui/transmutability
Esteban Küber c439a59dbd Change the desugaring of assert! for better error output
In the desugaring of `assert!`, we now expand to a `match` expression
instead of `if !cond {..}`.

The span of incorrect conditions will point only at the expression, and not
the whole `assert!` invocation.

```
error[E0308]: mismatched types
  --> $DIR/issue-14091.rs:2:13
   |
LL |     assert!(1,1);
   |             ^ expected `bool`, found integer
```

We no longer mention the expression needing to implement the `Not` trait.

```
error[E0308]: mismatched types
  --> $DIR/issue-14091-2.rs:15:13
   |
LL |     assert!(x, x);
   |             ^ expected `bool`, found `BytePos`
```

`assert!(val)` now desugars to:

```rust
match val {
    true => {},
    _ => $crate::panic::panic_2021!(),
}
```

Fix #122159.

We make some minor changes to some diagnostics to avoid span overlap on
type mismatch or inverted "expected"/"found" on type errors.

We remove some unnecessary parens from core, alloc and miri.

address review comments
2025-08-12 16:30:48 +00:00
..
abstraction safe transmute: Rename BikeshedIntrinsicFrom to TransmuteFrom 2024-08-27 14:05:54 +00:00
alignment Filter empty lines, comments and delimiters from previous to last multiline span rendering 2024-12-12 23:36:27 +00:00
arrays TL note: current means target 2024-09-20 10:02:14 -07:00
enums Pick the largest niche even if the largest niche is wrapped around 2025-07-29 14:08:15 +00:00
malformed-program-gracefulness UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
primitives safe transmute: Rename BikeshedIntrinsicFrom to TransmuteFrom 2024-08-27 14:05:54 +00:00
references transmutability: shift abstraction boundary 2025-06-09 14:08:12 +00:00
safety safe transmute: Rename BikeshedIntrinsicFrom to TransmuteFrom 2024-08-27 14:05:54 +00:00
structs Ensure query keys are printed with reduced queries 2025-06-03 20:56:52 +00:00
unions transmutability: uninit transition matches unit byte only 2025-04-29 20:42:43 +02:00
assoc-bound.rs TransmuteFrom: Gracefully handle unnormalized types and normalization errors 2024-10-01 20:52:17 +00:00
assoc-bound.stderr Trim suggestion parts to the subset that is purely additive 2025-02-14 00:44:10 -08:00
char.rs transmutability: Support char, NonZeroXxx 2025-04-25 12:55:50 -07:00
char.stderr transmutability: Support char, NonZeroXxx 2025-04-25 12:55:50 -07:00
dont-assume-err-is-yes-issue-126377.rs Fix transmute goal 2024-10-19 18:07:35 +00:00
dont-assume-err-is-yes-issue-126377.stderr Fix transmute goal 2024-10-19 18:07:35 +00:00
issue-101739-1.rs UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
issue-101739-1.stderr Re-enable ConstArgKind::Path lowering by default 2024-09-12 13:56:01 -04:00
issue-101739-2.rs Re-enable ConstArgKind::Path lowering by default 2024-09-12 13:56:01 -04:00
issue-101739-2.stderr Re-enable ConstArgKind::Path lowering by default 2024-09-12 13:56:01 -04:00
issue-110467.rs safe transmute: Rename BikeshedIntrinsicFrom to TransmuteFrom 2024-08-27 14:05:54 +00:00
issue-110892.rs safe transmute: Rename BikeshedIntrinsicFrom to TransmuteFrom 2024-08-27 14:05:54 +00:00
issue-110892.stderr safe transmute: revise safety analysis 2024-02-27 16:22:32 +00:00
maybeuninit.rs safe transmute: Rename BikeshedIntrinsicFrom to TransmuteFrom 2024-08-27 14:05:54 +00:00
maybeuninit.stderr safe transmute: Rename BikeshedIntrinsicFrom to TransmuteFrom 2024-08-27 14:05:54 +00:00
region-infer.rs safe transmute: Rename BikeshedIntrinsicFrom to TransmuteFrom 2024-08-27 14:05:54 +00:00
region-infer.stderr safe transmute: Rename BikeshedIntrinsicFrom to TransmuteFrom 2024-08-27 14:05:54 +00:00
transmute-between-associated-types-with-lifetimers-21174.rs Rehome tests/ui/issues/ tests [1/?] 2025-07-24 17:01:44 -04:00
transmute-between-associated-types-with-lifetimers-21174.stderr Rehome tests/ui/issues/ tests [1/?] 2025-07-24 17:01:44 -04:00
transmute-higher-ranked.rs Instantiate higher-ranked transmute goal 2025-04-08 17:00:29 +00:00
transmute-padding-ice.rs safe transmute: Rename BikeshedIntrinsicFrom to TransmuteFrom 2024-08-27 14:05:54 +00:00
uninhabited.rs Use the informative error as the main const eval error message 2025-06-02 15:37:15 +00:00
uninhabited.stderr Change the desugaring of assert! for better error output 2025-08-12 16:30:48 +00:00