rust/tests/ui/error-codes
bors 71704c4f84 Auto merge of #116623 - Nadrieril:validate-range-endpoints, r=oli-obk
Fix overflow checking in range patterns

When a range pattern contains an overflowing literal, if we're not careful we might not notice the overflow and use the wrapped value. This makes for confusing error messages because linting against overflowing literals is only done in a later pass. So when a range is invalid we check for overflows to provide a better error.

This check didn't use to handle negative types; this PR fixes that. First commit adds tests, second cleans up without changing behavior, third does the fix.

EDIT: while I was at it, I fixed a small annoyance about the span of the overflow lint on negated literals.

Fixes https://github.com/rust-lang/rust/issues/94239
2023-10-11 10:07:19 +00: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 Fix range overflow checking 2023-10-11 04:55:55 +02:00
E0030.rs Perform match checking on THIR. 2023-04-03 15:59:21 +00:00
E0030.stderr Fix range overflow checking 2023-10-11 04:55:55 +02: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 Migrate 'explicit destructor call' diagnostic 2023-09-15 14:24:58 +00:00
E0044.rs
E0044.stderr
E0045.rs
E0045.stderr
E0049.rs
E0049.stderr
E0050.rs
E0050.stderr
E0054.rs
E0054.stderr Migrate 'cast to bool' diagnostic 2023-09-18 14:03:57 +00:00
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 Gate and validate #[rustc_safe_intrinsic] 2023-09-25 22:33:15 +02:00
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 Change start to #[start] in some diagnosis 2023-09-22 15:58:43 +02:00
E0133.mir.stderr
E0133.rs
E0133.thir.stderr
E0138.rs
E0138.stderr
E0152.rs
E0152.stderr
E0161.base.stderr Do not set up wrong span for adjustments 2023-07-10 20:09:26 +00:00
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 Improve "associated type not found" diagnostics 2023-09-08 06:52:17 +02:00
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 write-long-types-to-disk: update tests 2023-07-25 12:08:44 +01:00
E0271.stderr write-long-types-to-disk: update tests 2023-07-25 12:08:44 +01:00
E0275.rs write-long-types-to-disk: update tests 2023-07-25 12:08:44 +01:00
E0275.stderr write-long-types-to-disk: update tests 2023-07-25 12:08:44 +01:00
E0276.rs
E0276.stderr
E0277-2.rs
E0277-2.stderr Revert "Suggest using Arc on !Send/!Sync types" 2023-08-28 03:16:48 -07:00
E0277-3.rs
E0277-3.stderr Tweak output for 'add line' suggestion 2023-04-12 22:50:10 +00:00
E0277.rs
E0277.stderr Point out if a local trait has no implementations 2023-09-10 21:20:36 +00:00
E0282.rs Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
E0282.stderr Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
E0283.rs
E0283.stderr stop mentioning number of applicate implementations 2023-07-16 15:36:19 +02:00
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 rustc_hir_analysis: add a helper to check function the signature mismatches 2023-09-19 18:15:23 +02:00
E0311.fixed improve the suggestion of generic_bound_failure 2023-10-08 09:56:57 +00:00
E0311.rs Fix invalid syntax in impl Trait parameter type suggestions for E0311 2023-01-11 14:49:55 -08:00
E0311.stderr remove trailing dots 2023-10-08 10:06:17 +00:00
E0328.rs
E0328.stderr
E0365.rs
E0365.stderr
E0370.rs
E0370.stderr
E0374.rs
E0374.stderr Extend impl's def_span to include where clauses 2023-10-09 11:47:02 +00:00
E0375.rs
E0375.stderr
E0376.rs
E0376.stderr
E0377.rs
E0377.stderr Extend impl's def_span to include where clauses 2023-10-09 11:47:02 +00:00
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 Reorder fullfillment errors to keep more interesting ones first 2023-10-04 02:04:14 +00:00
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
E0446.rs Replace old private-in-public diagnostic with type privacy lints 2023-08-02 13:40:28 +03:00
E0446.stderr Replace old private-in-public diagnostic with type privacy lints 2023-08-02 13:40:28 +03:00
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 Add a note to duplicate diagnostics 2023-10-05 01:04:41 +00:00
E0453.rs
E0453.stderr Add a note to duplicate diagnostics 2023-10-05 01:04:41 +00:00
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 Extend impl's def_span to include where clauses 2023-10-09 11:47:02 +00:00
E0478.rs
E0478.stderr
E0492.rs
E0492.stderr
E0496.rs
E0496.stderr
E0499.rs
E0499.stderr Do not set up wrong span for adjustments 2023-07-10 20:09:26 +00:00
E0501.rs
E0501.stderr
E0502.rs
E0502.stderr Do not set up wrong span for adjustments 2023-07-10 20:09:26 +00:00
E0503.rs
E0503.stderr Do not set up wrong span for adjustments 2023-07-10 20:09:26 +00:00
E0504.rs
E0504.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
E0505.rs
E0505.stderr Do not set up wrong span for adjustments 2023-07-10 20:09:26 +00:00
E0506.rs
E0506.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
E0507.rs
E0507.stderr Do not set up wrong span for adjustments 2023-07-10 20:09:26 +00:00
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 Don't mention already set fields 2023-06-05 21:00:08 +00:00
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 feat(rustc_lint): make CheckLintName respect lint level 2023-08-30 19:24:44 +01:00
E0602.stderr Add a note to duplicate diagnostics 2023-10-05 01:04:41 +00:00
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 Improve spans for indexing expressions 2023-08-04 13:17:39 +02:00
E0609-private-method.rs Don't suggest adding parentheses to call an inaccessible method. 2023-08-29 14:47:28 -07:00
E0609-private-method.stderr Don't suggest adding parentheses to call an inaccessible method. 2023-08-29 14:47:28 -07:00
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 Use structured suggestion when telling user about for<'a> 2023-06-30 00:34:14 +00:00
E0642.fixed
E0642.rs
E0642.stderr
E0646.rs
E0646.stderr
E0647.rs
E0647.stderr Change start to #[start] in some diagnosis 2023-09-22 15:58:43 +02:00
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 Add a note to duplicate diagnostics 2023-10-05 01:04:41 +00:00
E0730.rs
E0730.stderr
E0746.rs Simplify suggestion when returning bare dyn trait 2023-05-18 01:47:55 +00:00
E0746.stderr Simplify suggestion when returning bare dyn trait 2023-05-18 01:47:55 +00:00
E0767.rs
E0767.stderr adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
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 a note to duplicate diagnostics 2023-10-05 01:04:41 +00:00
E0790.rs
E0790.stderr stop mentioning number of applicate implementations 2023-07-16 15:36:19 +02:00
ex-E0611.rs
ex-E0611.stderr
ex-E0612.rs
ex-E0612.stderr