rust/tests/crashes
bors 381e9ef09e Auto merge of #152324 - Keith-Cancel:mgca4, r=BoxyUwU
Update mgca to use `type const` syntax instead of the `#[type_const]` attribute. 

This PR changes the `#[type_const]` attribute to the `type const` syntax for  https://github.com/rust-lang/rust/issues/132980.

This will fixes https://github.com/rust-lang/rust/issues/151273 and similar issues, since we need to check `type const` of items before expansion. The move to add a syntax was mentioned here: https://github.com/rust-lang/rust/pull/151289#issuecomment-3765241397

The first part of this PR adds support by allowing `type const <IDENT>: <TYPE> { = <EXPR> };` syntax in `rustc_parse/src/parser/item.rs`.

The next part since the AST item does not contain enough information to determine if we have a `type const` was rework `ConstItemRhs` into `ConstItemRhsKind` to store the information since we no longer have the attribute acting as a source of extra data/metadata. 

The hir node `ConstItemRhsKind` current shape mostly works, except in the case of `TraitItemKind` where it is an option. I initially went about giving `hir::ConstItemRhsKind` a similar form the AST, but it touches a lot more lines of code and files so because of that, the less invasive option was to add a simple boolean flag to `TraitItemKind`. 

The forth part of this PR includes adding a query I called `is_rhs_type_const` so that we can handle both local and foreign def_ids. 

The fifth aspect of the PR is adding a `mgca_type_const_syntax` feature gate that is checked before expansion. The standard mgca feature gate is ran after expansion. This feature gate allows for conditional compilation (e.g #[cfg(..)]) of the `type const` syntax  in nightly without `min_generic_const_args` being enabled. 

The last bit is updating all the the tests that used the `#[type_const]` attribute to use the new syntax that failed because of the changes. This is the bulk of touched/edited files in the PR. 

r? @BoxyUwU 
@rustbot label +F-associated_const_equality +F-min_generic_const_args
2026-02-09 22:37:29 +00:00
..
auxiliary add several older crashtests 2025-12-25 12:27:17 +00:00
34127.rs Ignoring working crahes test in GCC backend 2025-10-13 15:20:49 +02:00
54888.rs add .rs crashes from https://github.com/rust-lang/glacier 2024-04-14 11:18:23 +02:00
87577.rs add .rs crashes from https://github.com/rust-lang/glacier 2024-04-14 11:18:23 +02:00
88296.rs add .rs crashes from https://github.com/rust-lang/glacier 2024-04-14 11:18:23 +02:00
93182.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
93237.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
94846.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
98322.rs add .rs crashes from https://github.com/rust-lang/glacier 2024-04-14 11:18:23 +02:00
100041.rs add .rs crashes from https://github.com/rust-lang/glacier 2024-04-14 11:18:23 +02:00
101036.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
101557.rs crashes: fix ice detection which did not trigger if code compiled without error by accident 2024-04-14 11:21:58 +02:00
102047.rs add .rs crashes from https://github.com/rust-lang/glacier 2024-04-14 11:18:23 +02:00
102252.rs add .rs crashes from https://github.com/rust-lang/glacier 2024-04-14 11:18:23 +02:00
103708.rs add more known-crashes tests 2024-04-19 23:09:37 +02:00
104685.rs add more known-crashes tests 2024-04-19 23:09:37 +02:00
105238-1.rs add .rs crashes from https://github.com/rust-lang/glacier 2024-04-14 11:18:23 +02:00
105238-2.rs add .rs crashes from https://github.com/rust-lang/glacier 2024-04-14 11:18:23 +02:00
106473.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
108428.rs add two old crash tests 2025-01-25 23:40:35 +01:00
108499.rs crashes: add a couple more tests 2024-04-18 18:55:20 +02:00
108814.rs add .rs crashes from https://github.com/rust-lang/glacier 2024-04-14 11:18:23 +02:00
110378.rs add .rs crashes from https://github.com/rust-lang/glacier 2024-04-14 11:18:23 +02:00
110534.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
110627.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
111419.rs stabilize gai 2025-06-11 15:30:15 +01:00
111742.rs add .rs crashes from https://github.com/rust-lang/glacier 2024-04-14 11:18:23 +02:00
113846.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
114198-2.rs Remove mono item collection strategy override from -Zprint-mono-items 2025-05-09 12:19:09 +02:00
114198.rs Remove mono item collection strategy override from -Zprint-mono-items 2025-05-09 12:19:09 +02:00
114212-2.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
114212.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
114880.rs add several older crashtests 2025-12-25 12:27:17 +00:00
115435.rs crashes: fix ice detection which did not trigger if code compiled without error by accident 2024-04-14 11:21:58 +02:00
116519-2.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
116519.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
116554.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
116947.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
117392-2.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
117392.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
117460.rs add crashtests for several old unfixed ICEs 2024-08-30 12:50:07 +02:00
117496.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
117795.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
118038.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
118244.rs Ignoring working crahes test in GCC backend 2025-10-13 15:20:49 +02:00
118603.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
118778.rs add some debug-assertion crash tests 2024-12-08 14:17:25 +01:00
118784.rs add some debug-assertion crash tests 2024-12-08 14:17:25 +01:00
118952-2.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
118952.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
119095.rs replace //@ compile-flags: --edition with //@ edition 2025-04-10 09:56:37 +02:00
119692.rs crashes: fix ice detection which did not trigger if code compiled without error by accident 2024-04-14 11:21:58 +02:00
119786-1.rs ExprUseVisitor: remove maybe_read_scrutinee 2025-12-17 20:47:47 +01:00
119786-2.rs ExprUseVisitor: remove maybe_read_scrutinee 2025-12-17 20:47:47 +01:00
119786-3.rs ExprUseVisitor: remove maybe_read_scrutinee 2025-12-17 20:47:47 +01:00
119824.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
119940.rs add several older crashtests 2025-12-25 12:27:17 +00:00
120016.rs this ice now requires -Zvalidate-mir 2025-09-26 15:37:19 -07:00
120033.rs tests: {Meta,Pointee}Sized in non-minicore tests 2025-06-16 23:04:33 +00:00
120175.rs Ignore crash test that doesn't crash on Apple platforms 2025-09-27 14:41:09 +02:00
120254.rs crashes: add a couple more tests 2024-04-18 18:55:20 +02:00
120811.rs crashes: add even more tests?!? 2024-04-18 06:13:47 +02:00
120873.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
120911.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
121575.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
121858.rs Partially implement ConstArgHasType 2024-05-29 17:06:54 +01:00
121963.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
122259.rs crashes: add a couple more tests 2024-04-18 18:55:20 +02:00
122529.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
122681.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
122710.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
122903-1.rs Adjust crash bug to still reproduce. 2024-05-31 11:04:32 +00:00
123140.rs tests/crashes: add ICEs from matthiaskrgr/glacier2 2024-04-14 11:21:51 +02:00
123157.rs crashes: fix ice detection which did not trigger if code compiled without error by accident 2024-04-14 11:21:58 +02:00
123629.rs add a few more crashtests 2024-09-01 22:28:23 +02:00
123690.rs crashes: add even more tests?!? 2024-04-18 06:13:47 +02:00
123810.rs crashes: add even more tests?!? 2024-04-18 06:13:47 +02:00
123862.rs add some debug-assertion crash tests 2024-12-08 14:17:25 +01:00
123887.rs crashes: increment the number of tracked ones 2024-05-27 17:32:56 +02:00
124189.rs crashes: add a couple more ICE tests 2024-04-21 21:04:32 +02:00
124340.rs crashes: add more tests 2024-04-26 17:20:16 +02:00
124440.rs crashes: add lastest batch of crash tests 2024-05-05 23:41:08 +02:00
124751.rs Stabilize the 2024 edition 2024-11-22 11:12:15 -08:00
125014.rs crashes: increment the number of tracked ones 2024-05-27 17:32:56 +02:00
125553.rs remove fixed crashes, add fixed crashes to tests, add new cashed found in the meantime 2024-05-27 20:41:09 +02:00
125768.rs tests: add more crashes 2024-06-09 10:16:12 +02:00
125769.rs tests: add more crashes 2024-06-09 10:16:12 +02:00
125772.rs Fix some crash-test directives 2025-09-29 11:04:50 +10:00
125801.rs tests: add more crashes 2024-06-09 10:16:12 +02:00
125841.rs tests: add more crashes 2024-06-09 10:16:12 +02:00
126268.rs add and update some crashtests 2024-11-02 23:44:12 +01:00
126443.rs add crashtests for several old unfixed ICEs 2024-08-30 12:50:07 +02:00
126667.rs crashes: add more tests 2024-06-29 09:33:28 +02:00
126680.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
126696.rs crashes: add more tests 2024-06-29 09:33:28 +02:00
127033.rs replace //@ compile-flags: --edition with //@ edition 2025-04-10 09:56:37 +02:00
129556.rs couple more crash tests 2024-08-30 12:38:22 +02:00
130310.rs Revert "Add recursion limit to FFI safety lint" 2024-09-23 12:43:44 -04:00
130346.rs tests: more ice tests 2024-09-15 21:18:41 +02:00
130395.rs add some debug-assertion crash tests 2024-12-08 14:17:25 +01:00
130411.rs more crash tests 2024-09-18 00:10:25 +02:00
130524.rs crashes: more tests 2024-09-29 11:58:09 +02:00
130797.rs crashes: more tests 2024-12-15 17:27:52 +01:00
131292.rs Fix some crash-test directives 2025-09-29 11:04:50 +10:00
131373.rs add more crash tests 2024-10-09 15:34:45 +02:00
131534.rs add latest crash tests 2024-10-12 11:29:38 +02:00
131762.rs feat: Use annotate-snippets by default on nightly 2025-11-05 09:01:07 -07:00
131787.rs add latest crash tests 2024-10-20 10:05:39 +02:00
131886.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
132126.rs add and update some crashtests 2024-11-02 23:44:12 +01:00
132960.rs Check signature WF when lowering MIR body 2025-03-03 23:09:42 +00:00
133613.rs mark crash test as requiring debug-assertions 2025-12-10 14:47:50 +00:00
133966.rs crashes: more tests v2 2024-12-12 22:55:31 +01:00
134061.rs crashes: more tests v2 2024-12-12 22:55:31 +01:00
134479.rs Ignoring working crahes test in GCC backend 2025-10-13 15:20:49 +02:00
134587.rs crashes: add latest batch of tests 2025-01-04 14:38:06 +01:00
134615.rs crashes: add latest batch of tests 2025-01-04 14:38:06 +01:00
134838.rs crashes: add latest batch of tests 2025-01-04 14:38:06 +01:00
135122.rs add more crash tests 2025-01-12 10:11:29 +01:00
135617.rs crashes: more tests 2025-02-09 10:40:18 +01:00
135718.rs crashes: more tests 2025-02-09 10:40:18 +01:00
135720.rs crashes: more tests 2025-02-09 10:40:18 +01:00
135845.rs crashes: more tests 2025-02-09 10:40:18 +01:00
136188.rs crashes: couple more tests 2025-03-08 20:13:07 +01:00
136416.rs crashes: couple more tests 2025-03-08 20:13:07 +01:00
136442.rs crashes: couple more tests 2025-03-08 20:13:07 +01:00
136661.rs crashes: couple more tests 2025-03-08 20:13:07 +01:00
136666.rs crashes: couple more tests 2025-03-08 20:13:07 +01:00
136766.rs crashes: couple more tests 2025-03-08 20:13:07 +01:00
136859.rs crashes: couple more tests 2025-03-08 20:13:07 +01:00
137049.rs Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
137187.rs collapse constness query match logic 2025-11-29 20:00:40 -05:00
138008.rs crashes: couple more tests 2025-03-08 20:13:07 +01:00
138009.rs crashes: couple more tests 2025-03-08 20:13:07 +01:00
138088.rs crashes: couple more tests 2025-03-08 20:13:07 +01:00
138156.rs crashes: more tests 2025-05-01 17:04:37 +02:00
138361.rs crashes: more tests 2025-05-01 17:04:37 +02:00
138534.rs crashes: more tests 2025-05-01 17:04:37 +02:00
138564.rs crashes: more tests 2025-05-01 17:04:37 +02:00
138660.rs add several older crashtests 2025-12-25 12:27:17 +00:00
138707.rs crashes: more tests 2025-05-01 17:04:37 +02:00
139089.rs crashes: more tests 2025-05-01 17:04:37 +02:00
139120.rs crashes: more tests 2025-05-01 17:04:37 +02:00
139381.rs crashes: more tests 2025-05-01 17:04:37 +02:00
139387.rs crashes: more tests 2025-05-01 17:04:37 +02:00
139462.rs Ignoring working crahes test in GCC backend 2025-10-13 15:20:49 +02:00
139570.rs crashes: more tests 2025-05-01 17:04:37 +02:00
140099.rs more ice tests 2025-05-18 17:25:34 +02:00
140123-2.rs more ice tests 2025-05-18 17:25:34 +02:00
140123-3.rs more ice tests 2025-05-18 17:25:34 +02:00
140123-4.rs more ice tests 2025-05-18 17:25:34 +02:00
140123.rs more ice tests 2025-05-18 17:25:34 +02:00
140303.rs more ice tests 2025-05-18 17:25:34 +02:00
140381.rs more ice tests 2025-05-18 17:25:34 +02:00
140577.rs more ice tests 2025-05-18 17:25:34 +02:00
140850.rs more ice tests 2025-05-18 17:25:34 +02:00
141124.rs more ice tests 2025-05-18 17:25:34 +02:00
144293-indirect-ops-llvm.rs explicit tail call tests with indirect operands in LLVM, small test for indexing into a function table as described by RFC 3407 2025-08-06 18:13:56 -06:00
146261.rs add crashes tests for overlapping spans 2025-10-23 22:15:34 +00:00
146706.rs add crashes tests for overlapping spans 2025-10-23 22:15:34 +00:00
147973.rs add crashes tests for overlapping spans 2025-10-23 22:15:34 +00:00
149809.rs Allow provisional mgca syntax of type const <IDENT> = <EXPR> to be reconized. 2026-02-09 07:59:24 -08:00
project-to-simd-array-field.rs Rework OperandRef::extract_field to stop calling to_immediate_scalar on things which are already immediates 2025-02-19 12:03:40 -08:00
README.md show how to view docs locally 2025-12-17 21:25:19 +02:00

Documentation on crash tests is at https://rustc-dev-guide.rust-lang.org/tests/compiletest#crash-tests.

Alternatively, you can build the documentation from this repository:

mdbook serve --open src/doc/rustc-dev-guide

The documentation will then be available at http://localhost:3000/tests/compiletest.html#crash-tests.