rust/tests/ui/error-codes
Matthias Krüger 363d158cd8
Rollup merge of #111215 - BoxyUwU:resolve_anon_consts_differently, r=cjgillot
Various changes to name resolution of anon consts

Sorry this PR is kind of all over the place ^^'

Fixes #111012

- Rewrites anon const nameres to all go through `fn resolve_anon_const` explicitly instead of `visit_anon_const` to ensure that we do not accidentally resolve anon consts as if they are allowed to use generics when they aren't. Also means that we dont have bits of code for resolving anon consts that will get out of sync (i.e. legacy const generics and resolving path consts that were parsed as type arguments)
- Renames two of the `LifetimeRibKind`, `AnonConst -> ConcreteAnonConst` and `ConstGeneric -> ConstParamTy`
- Noticed while doing this that under `generic_const_exprs` all lifetimes currently get resolved to errors without any error being emitted which was causing a bunch of tests to pass without their bugs having been fixed, incidentally fixed that in this PR and marked those tests as `// known-bug:`. I'm fine to break those since `generic_const_exprs` is a very unstable incomplete feature and this PR _does_ make generic_const_exprs "less broken" as a whole, also I can't be assed to figure out what the underlying causes of all of them are. This PR reopens #77357 #83993
- Changed `generics_of` to stop providing generics and predicates to enum variant discriminant anon consts since those are not allowed to use generic parameters
- Updated the error for non 'static lifetime in const arguments and the error for non 'static lifetime in const param tys to use `derive(Diagnostic)`

I have a vague idea why const-arg-in-const-arg.rs, in-closure.rs and simple.rs have started failing which is unfortunate since these were deliberately made to work, I think lifetime resolution being broken just means this regressed at some point and nobody noticed because the tests were not testing anything :( I'm fine breaking these too for the same reason as the tests for #77357 #83993. I couldn't get `// known-bug` to work for these ICEs and just kept getting different stderr between CI and local `--bless` so I just removed them and will create an issue to track re-adding (and fixing) the bugs if this PR lands.

r? `@cjgillot` cc `@compiler-errors`
2023-05-09 20:49:32 +02:00
..
auxiliary
e0119
E0001.rs
E0001.stderr
E0004-2.rs
E0004-2.stderr
E0004.rs
E0004.stderr Perform match checking on THIR. 2023-04-03 15:59:21 +00:00
E0005.rs
E0005.stderr Don't recommend if let if let else works 2023-01-11 14:40:07 -08:00
E0010-teach.rs Remove uses of box_syntax in rustc and tools 2023-03-12 13:19:46 +00:00
E0010-teach.stderr Remove uses of box_syntax in rustc and tools 2023-03-12 13:19:46 +00:00
E0010.rs Remove uses of box_syntax in rustc and tools 2023-03-12 13:19:46 +00:00
E0010.stderr Remove uses of box_syntax in rustc and tools 2023-03-12 13:19:46 +00:00
E0013.rs
E0013.stderr
E0015.rs
E0015.stderr
E0017.rs
E0017.stderr
E0023.rs
E0023.stderr
E0025.rs
E0025.stderr
E0026-teach.rs
E0026-teach.stderr Spelling - compiler 2023-04-17 16:09:18 -04:00
E0026.rs
E0026.stderr
E0027.rs
E0027.stderr
E0029-teach.rs
E0029-teach.stderr
E0029.rs
E0029.stderr
E0030-teach.rs Perform match checking on THIR. 2023-04-03 15:59:21 +00:00
E0030-teach.stderr Perform match checking on THIR. 2023-04-03 15:59:21 +00:00
E0030.rs Perform match checking on THIR. 2023-04-03 15:59:21 +00:00
E0030.stderr Perform match checking on THIR. 2023-04-03 15:59:21 +00:00
E0033-teach.rs
E0033-teach.stderr
E0033.rs
E0033.stderr
E0034.rs
E0034.stderr
E0038.rs
E0038.stderr
E0040.fixed
E0040.rs
E0040.stderr
E0044.rs
E0044.stderr
E0045.rs
E0045.stderr
E0049.rs
E0049.stderr
E0050.rs
E0050.stderr
E0054.rs
E0054.stderr
E0055.rs
E0055.stderr
E0057.rs
E0057.stderr Make removal suggestion not verbose 2023-02-14 20:22:10 +00:00
E0059.rs
E0059.stderr
E0060.rs
E0060.stderr
E0061.rs
E0061.stderr
E0062.rs
E0062.stderr
E0063.rs
E0063.stderr
E0067.rs
E0067.stderr
E0069.rs
E0069.stderr
E0070.rs
E0070.stderr
E0071.rs Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
E0071.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
E0075.rs
E0075.stderr
E0076.rs
E0076.stderr
E0077.rs
E0077.stderr
E0080.rs
E0080.stderr
E0081.rs
E0081.stderr
E0084.rs
E0084.stderr
E0091.rs
E0091.stderr
E0092.rs
E0092.stderr
E0093.rs
E0093.stderr
E0094.rs
E0094.stderr
E0106.rs
E0106.stderr
E0107.rs diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
E0107.stderr diagnostics: remove inconsistent English article "this" from E0107 2023-02-23 10:27:06 -07:00
E0109.rs
E0109.stderr
E0110.rs
E0110.stderr
E0116.rs
E0116.stderr Tighter spans for bad inherent impl types 2023-02-13 18:41:18 +00:00
E0117.rs
E0117.stderr
E0118.rs
E0118.stderr Tighter spans for bad inherent impl types 2023-02-13 18:41:18 +00:00
E0119.rs
E0119.stderr
E0120.rs
E0120.stderr
E0121.rs
E0121.stderr
E0124.rs
E0124.stderr
E0128.rs
E0128.stderr
E0130.rs
E0130.stderr
E0131.rs
E0131.stderr
E0132.rs
E0132.stderr
E0133.mir.stderr
E0133.rs
E0133.thir.stderr
E0138.rs
E0138.stderr
E0152.rs
E0152.stderr
E0161.base.stderr
E0161.rs
E0164.rs
E0164.stderr
E0184.rs
E0184.stderr may not => cannot 2023-03-08 00:00:18 +00:00
E0185.rs
E0185.stderr
E0186.rs
E0186.stderr
E0191.rs
E0191.stderr
E0194.rs
E0194.stderr
E0195.rs
E0195.stderr
E0197.rs
E0197.stderr
E0198.rs
E0198.stderr
E0199.rs
E0199.stderr
E0200.rs
E0200.stderr
E0201.rs
E0201.stderr
E0206.rs may not => cannot 2023-03-08 00:00:18 +00:00
E0206.stderr may not => cannot 2023-03-08 00:00:18 +00:00
E0207.rs
E0207.stderr
E0208.rs internally change regions to be covariant 2023-01-27 04:04:22 +03:00
E0208.stderr internally change regions to be covariant 2023-01-27 04:04:22 +03:00
E0214.rs
E0214.stderr
E0220.rs
E0220.stderr
E0221.rs
E0221.stderr
E0223.rs When suggesting writing a fully qualified path probe for appropriate types 2023-01-11 21:30:10 +00:00
E0223.stderr When suggesting writing a fully qualified path probe for appropriate types 2023-01-11 21:30:10 +00:00
E0225.rs
E0225.stderr
E0227.rs
E0227.stderr
E0229.rs
E0229.stderr
E0252.rs
E0252.stderr
E0253.rs
E0253.stderr
E0254.rs
E0254.stderr
E0255.rs
E0255.stderr
E0259.rs
E0259.stderr
E0260.rs
E0260.stderr
E0261.rs
E0261.stderr
E0262.rs
E0262.stderr
E0263.rs
E0263.stderr
E0264.rs
E0264.stderr
E0267.rs
E0267.stderr
E0268.rs
E0268.stderr
E0271.rs
E0271.stderr
E0275.rs
E0275.stderr evaluate: improve and fix recursion depth handling 2023-03-21 09:57:22 +01:00
E0276.rs
E0276.stderr
E0277-2.rs
E0277-2.stderr
E0277-3.rs
E0277-3.stderr Tweak output for 'add line' suggestion 2023-04-12 22:50:10 +00:00
E0277.rs
E0277.stderr rustc_middle: Fix opt_item_ident for non-local def ids 2023-05-03 20:09:10 +03:00
E0282.rs
E0282.stderr
E0283.rs
E0283.stderr
E0297.rs
E0297.stderr Migrate pattern matching 2023-01-11 14:40:02 -08:00
E0308-2.rs
E0308-2.stderr Point at impl self type for impl wf obligations 2023-01-12 20:44:47 +00:00
E0308-4.rs
E0308-4.stderr
E0308.rs
E0308.stderr
E0311.fixed Fix invalid syntax in impl Trait parameter type suggestions for E0311 2023-01-11 14:49:55 -08:00
E0311.rs Fix invalid syntax in impl Trait parameter type suggestions for E0311 2023-01-11 14:49:55 -08:00
E0311.stderr Fix invalid syntax in impl Trait parameter type suggestions for E0311 2023-01-11 14:49:55 -08:00
E0328.rs
E0328.stderr
E0365.rs
E0365.stderr
E0370.rs
E0370.stderr
E0374.rs
E0374.stderr
E0375.rs
E0375.stderr
E0376.rs
E0376.stderr
E0377.rs
E0377.stderr
E0388.rs
E0388.stderr
E0389.rs
E0389.stderr tweak "make mut" spans when assigning to locals 2023-05-05 22:40:04 +12:00
E0390.rs
E0390.stderr Tighter spans for bad inherent impl types 2023-02-13 18:41:18 +00:00
E0392.rs
E0392.stderr
E0393.rs
E0393.stderr
E0396-fixed.rs
E0396-fixed.stderr
E0396.rs
E0396.stderr
E0401.rs
E0401.stderr
E0403.rs
E0403.stderr
E0404.rs
E0404.stderr
E0405.rs
E0405.stderr
E0407.rs
E0407.stderr
E0408.rs
E0408.stderr
E0411.rs
E0411.stderr
E0412.rs
E0412.stderr
E0415.rs
E0415.stderr
E0416.rs
E0416.stderr
E0423.rs
E0423.stderr
E0424.rs
E0424.stderr
E0425.rs
E0425.stderr
E0426.rs
E0426.stderr
E0428.rs
E0428.stderr
E0429.rs
E0429.stderr
E0430.rs
E0430.stderr
E0431.rs
E0431.stderr
E0432.rs
E0432.stderr
E0433.rs
E0433.stderr
E0434.rs
E0434.stderr
E0435.fixed
E0435.rs
E0435.stderr
E0437.rs
E0437.stderr
E0438.rs
E0438.stderr
E0445.rs
E0445.stderr
E0446.rs
E0446.stderr
E0449.rs
E0449.stderr Update ui tests involving invalid visibility qualifiers 2023-04-03 22:28:55 -05:00
E0451.rs
E0451.stderr
E0452.rs
E0452.stderr
E0453.rs
E0453.stderr
E0454.rs
E0454.stderr
E0458.rs
E0458.stderr
E0459.rs
E0459.stderr
E0462.rs
E0462.stderr
E0463.rs
E0463.stderr
E0464.rs
E0464.stderr
E0476.rs docs/test: add UI test and docs for E0476 2023-02-25 19:31:02 +13:00
E0476.stderr docs/test: add UI test and docs for E0476 2023-02-25 19:31:02 +13:00
E0478.rs
E0478.stderr
E0492.rs
E0492.stderr
E0496.rs
E0496.stderr
E0499.rs
E0499.stderr
E0501.rs
E0501.stderr
E0502.rs
E0502.stderr
E0503.rs
E0503.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
E0504.rs
E0504.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
E0505.rs
E0505.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
E0506.rs
E0506.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
E0507.rs
E0507.stderr
E0508-fail.rs
E0508-fail.stderr
E0508.rs
E0508.stderr
E0509.rs
E0509.stderr
E0511.rs
E0511.stderr
E0512.rs
E0512.stderr
E0516.rs
E0516.stderr
E0517.rs
E0517.stderr
E0518.rs
E0518.stderr
E0519.rs
E0519.stderr
E0520.rs
E0520.stderr Fetch less HIR in signature check. 2023-02-14 20:26:03 +00:00
E0522.rs
E0522.stderr
E0523.rs Add extended error message for E0523 2023-02-06 06:58:30 -05:00
E0523.stderr Add extended error message for E0523 2023-02-06 06:58:30 -05:00
E0527.rs
E0527.stderr
E0528.rs
E0528.stderr
E0529.rs
E0529.stderr
E0530.rs
E0530.stderr
E0532.rs
E0532.stderr
E0534.rs
E0534.stderr
E0559.rs
E0559.stderr
E0560.rs
E0560.stderr
E0565-1.rs
E0565-1.stderr
E0565-2.rs
E0565-2.stderr
E0565.rs
E0565.stderr
E0572.rs
E0572.stderr
E0582.rs
E0582.stderr
E0583.rs
E0583.stderr
E0585.rs
E0585.stderr
E0586.rs
E0586.stderr
E0594.rs
E0594.stderr
E0596.rs
E0596.stderr
E0597.rs
E0597.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
E0599.rs
E0599.stderr
E0600.rs
E0600.stderr
E0601.rs
E0601.stderr
E0602.rs
E0602.stderr
E0603.rs
E0603.stderr
E0604.rs
E0604.stderr
E0605.rs
E0605.stderr
E0606.rs special case removing & suggestion 2023-01-18 13:14:56 +13:00
E0606.stderr special case removing & suggestion 2023-01-18 13:14:56 +13:00
E0607.rs
E0607.stderr
E0608.rs
E0608.stderr
E0609.rs
E0609.stderr
E0610.rs
E0610.stderr
E0614.rs
E0614.stderr
E0615.rs
E0615.stderr
E0616.rs
E0616.stderr
E0617.rs
E0617.stderr
E0618.rs
E0618.stderr
E0620.rs
E0620.stderr
E0621-does-not-trigger-for-closures.rs
E0621-does-not-trigger-for-closures.stderr
E0622.rs
E0622.stderr
E0624.rs diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
E0624.stderr diagnostics: update test cases to refer to assoc fn with self as method 2023-02-22 08:40:47 -07:00
E0637.rs
E0637.stderr
E0642.fixed
E0642.rs
E0642.stderr
E0646.rs
E0646.stderr
E0647.rs
E0647.stderr
E0648.rs
E0648.stderr
E0657.rs
E0657.stderr
E0658.rs
E0658.stderr
E0659.rs
E0659.stderr
E0705.rs
E0705.stderr
E0711.rs
E0711.stderr
E0718.rs
E0718.stderr
E0719.rs Don't use implied trait predicates in gather_explicit_predicates_of 2023-05-01 15:45:28 +00:00
E0719.stderr Don't use implied trait predicates in gather_explicit_predicates_of 2023-05-01 15:45:28 +00:00
E0730.rs
E0730.stderr
E0746.fixed
E0746.rs
E0746.stderr
E0767.rs
E0767.stderr
E0771.rs improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
E0771.stderr improve diagnostics and bless tests 2023-05-05 21:42:54 +01:00
E0777.rs
E0777.stderr
E0778.rs
E0778.stderr
E0779.rs
E0779.stderr
E0789.rs add UI test + docs for E0789 2023-01-23 20:38:14 +13:00
E0789.stderr add UI test + docs for E0789 2023-01-23 20:38:14 +13:00
E0790.rs
E0790.stderr
ex-E0611.rs
ex-E0611.stderr
ex-E0612.rs
ex-E0612.stderr