bors faefc618cf Auto merge of #124219 - gurry:122989-ice-unexpected-anon-const, r=compiler-errors
Do not ICE on `AnonConst`s in `diagnostic_hir_wf_check`

Fixes #122989

Below is the snippet from #122989 that ICEs:
```rust
trait Traitor<const N: N<2> = 1, const N: N<2> = N> {
    fn N(&N) -> N<2> {
        M
    }
}

trait N<const N: Traitor<2> = 12> {}
```

The `AnonConst` that triggers the ICE is the `2` in the param `const N: N<2> = 1`. The currently existing code in `diagnostic_hir_wf_check` deals only with `AnonConst`s that are default values of some param, but  the `2` is not a default value. It is just an `AnonConst` HIR node inside a `TraitRef` HIR node corresponding to `N<2>`. Therefore the existing code cannot handle it and this PR ensures that it does.
2024-05-07 20:01:18 +00:00
..
2024-04-22 18:48:47 +02:00
2024-05-02 19:42:31 -04:00
2024-04-24 13:12:33 +01:00
2024-05-02 19:42:31 -04:00
2024-04-21 15:43:43 -03:00
2024-04-21 15:43:43 -03:00
2024-04-21 15:43:43 -03:00
2024-04-14 21:34:14 +05:30
2024-04-12 20:57:07 +00:00
2024-05-02 19:42:31 -04:00
2024-04-12 17:45:15 +01:00
2024-04-24 13:12:33 +01:00
2024-04-24 13:12:33 +01:00
2024-04-29 14:53:38 +02:00
2024-04-25 10:47:24 +08:00
2024-05-02 19:42:31 -04:00
2024-05-02 19:42:31 -04:00
2024-04-21 20:10:12 -04:00
2024-04-07 17:38:07 -03:00
2024-05-02 19:42:31 -04:00
2024-04-11 17:53:27 -04:00
2024-05-02 19:42:31 -04:00
2024-04-21 15:43:43 -03:00
2024-04-14 09:42:53 -04:00
2024-04-24 13:12:33 +01:00
2024-04-27 10:54:31 +03:00
2024-04-25 10:51:54 -04:00
2024-04-07 17:38:07 -03:00
2024-04-27 10:54:31 +03:00
2024-04-06 15:14:16 -04:00

UI Tests

This folder contains rustc's UI tests.

Test Directives (Headers)

Typically, a UI test will have some test directives / headers which are special comments that tell compiletest how to build and intepret a test.

As part of an on-going effort to rewrite compiletest (see https://github.com/rust-lang/compiler-team/issues/536), a major change proposal to change legacy compiletest-style headers // <directive> to ui_test-style headers //@ <directive> was accepted (see https://github.com/rust-lang/compiler-team/issues/512.

An example directive is ignore-test. In legacy compiletest style, the header would be written as

// ignore-test

but in ui_test style, the header would be written as

//@ ignore-test

compiletest is changed to accept only //@ directives for UI tests (currently), and will reject and report an error if it encounters any comments // <content> that may be parsed as an legacy compiletest-style test header. To fix this, you should migrate to the ui_test-style header //@ <content>.