rust/tests/ui/inline-const
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
..
break-inside-inline-const-issue-128604.rs Add regression test for break inside const items 2025-06-10 08:34:27 +00:00
break-inside-inline-const-issue-128604.stderr Loop check anon consts on their own 2025-06-10 08:41:23 +00:00
const-expr-array-init.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
const-expr-basic.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
const-expr-generic-err.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
const-expr-generic-err.stderr Change the desugaring of assert! for better error output 2025-08-12 16:30:48 +00:00
const-expr-generic-err2.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
const-expr-generic-err2.stderr Fix tests and bless 2024-04-24 13:12:33 +01:00
const-expr-generic.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
const-expr-inference.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
const-expr-lifetime-err.rs stabilize const_mut_refs 2024-09-15 09:51:32 +02:00
const-expr-lifetime-err.stderr best_blame_constraint: don't filter constraints by sup SCC 2025-01-06 16:08:29 -08:00
const-expr-lifetime.rs stabilize const_mut_refs 2024-09-15 09:51:32 +02:00
const-expr-macro.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
const-expr-reference.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
cross-const-control-flow-125846.rs tests: ui/inline-consts: add issue number to a test, rename other tests from a_b_c to a-b-c 2024-11-16 13:09:10 +01:00
cross-const-control-flow-125846.stderr Remove check_mod_loops query and run the checks per-body instead 2025-06-10 08:41:23 +00:00
elided-lifetime-being-infer-vars.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
expr-unsafe-err.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
expr-unsafe-err.stderr Fix tests and bless 2024-04-24 13:12:33 +01:00
expr-unsafe.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
expr-unsafe.stderr Remove revisions for THIR unsafeck 2024-01-05 09:30:27 +00:00
expr-with-block-err.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
expr-with-block-err.stderr Fix tests and bless 2024-04-24 13:12:33 +01:00
expr-with-block.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
in-pat-recovery.rs const-block-as-pattern: do not refer to no-longer-existing nightly feature 2025-07-07 16:18:41 +02:00
in-pat-recovery.stderr const-block-as-pattern: do not refer to no-longer-existing nightly feature 2025-07-07 16:18:41 +02:00
instance-doesnt-depend-on-type.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
interpolated.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
macro-with-const.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
promotion.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
promotion.stderr Fix tests and bless 2024-04-24 13:12:33 +01:00
referencing-local-variables.rs tests: ui/inline-consts: add issue number to a test, rename other tests from a_b_c to a-b-c 2024-11-16 13:09:10 +01:00
referencing-local-variables.stderr tests: ui/inline-consts: add issue number to a test, rename other tests from a_b_c to a-b-c 2024-11-16 13:09:10 +01:00
required-const.rs Fix tests and bless 2024-04-24 13:12:33 +01:00
required-const.stderr Clarify why we are talking about a failed const eval at a random place 2025-06-02 15:37:15 +00:00
uninit-local.rs tests: ui/inline-consts: add issue number to a test, rename other tests from a_b_c to a-b-c 2024-11-16 13:09:10 +01:00
uninit-local.stderr tests: ui/inline-consts: add issue number to a test, rename other tests from a_b_c to a-b-c 2024-11-16 13:09:10 +01:00
using-late-bound-from-closure.rs UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
using-late-bound-from-closure.stderr Add test 2024-08-08 00:41:39 +08:00