about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEsteban Kuber <esteban@kuber.com.ar>2022-03-26 23:14:47 +0000
committerEsteban Kuber <esteban@kuber.com.ar>2022-04-04 21:06:35 +0000
commite2bba0708a1e4b0c21f94de56c2bd5d66d3b825f (patch)
treef69b605da80489e297384a9fdde5cc99396f4e8c
parent883b93c7b7eb02ec85f4b8f9fb129efc403d4fb2 (diff)
downloadrust-e2bba0708a1e4b0c21f94de56c2bd5d66d3b825f.tar.gz
rust-e2bba0708a1e4b0c21f94de56c2bd5d66d3b825f.zip
Fix list length
-rw-r--r--compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs2
-rw-r--r--src/test/ui/binop/binop-mul-i32-f32.stderr4
-rw-r--r--src/test/ui/binop/issue-77910-1.stderr4
-rw-r--r--src/test/ui/binop/shift-various-bad-types.stderr12
-rw-r--r--src/test/ui/const-generics/exhaustive-value.stderr4
-rw-r--r--src/test/ui/consts/const-eval/const-eval-overflow-3b.stderr4
-rw-r--r--src/test/ui/consts/const-eval/const-eval-overflow-4b.stderr4
-rw-r--r--src/test/ui/consts/too_generic_eval_ice.stderr4
-rw-r--r--src/test/ui/did_you_mean/issue-21659-show-relevant-trait-impls-2.stderr2
-rw-r--r--src/test/ui/did_you_mean/issue-39802-show-5-trait-impls.stderr12
-rw-r--r--src/test/ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.stderr4
-rw-r--r--src/test/ui/impl-trait/equality.stderr4
-rw-r--r--src/test/ui/issues/issue-11771.stderr8
-rw-r--r--src/test/ui/issues/issue-24352.stderr4
-rw-r--r--src/test/ui/issues/issue-50582.stderr4
-rw-r--r--src/test/ui/issues/issue-59488.stderr4
-rw-r--r--src/test/ui/kindck/kindck-copy.stderr8
-rw-r--r--src/test/ui/lexer/lex-bad-char-literals-6.stderr8
-rw-r--r--src/test/ui/mismatched_types/binops.stderr24
-rw-r--r--src/test/ui/never_type/issue-13352.stderr4
-rw-r--r--src/test/ui/numbers-arithmetic/not-suggest-float-literal.stderr48
-rw-r--r--src/test/ui/numbers-arithmetic/suggest-float-literal.stderr32
-rw-r--r--src/test/ui/span/multiline-span-simple.stderr4
-rw-r--r--src/test/ui/suggestions/into-str.stderr2
-rw-r--r--src/test/ui/try-trait/bad-interconversion.stderr4
-rw-r--r--src/test/ui/type/type-check-defaults.stderr4
-rw-r--r--src/test/ui/typeck/issue-81293.stderr4
-rw-r--r--src/test/ui/ufcs/ufcs-qpath-self-mismatch.stderr4
28 files changed, 225 insertions, 1 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs b/compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs
index 65e2554a6f2..fdafb2d3d41 100644
--- a/compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs
+++ b/compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs
@@ -1813,7 +1813,7 @@ impl<'a, 'tcx> InferCtxtPrivExt<'a, 'tcx> for InferCtxt<'a, 'tcx> {
         }
 
         let len = impl_candidates.len();
-        let end = if impl_candidates.len() <= 5 { impl_candidates.len() } else { 4 };
+        let end = if impl_candidates.len() <= 9 { impl_candidates.len() } else { 8 };
 
         let normalize = |candidate| {
             self.tcx.infer_ctxt().enter(|ref infcx| {
diff --git a/src/test/ui/binop/binop-mul-i32-f32.stderr b/src/test/ui/binop/binop-mul-i32-f32.stderr
index 9fcf5d72625..715e52b41e7 100644
--- a/src/test/ui/binop/binop-mul-i32-f32.stderr
+++ b/src/test/ui/binop/binop-mul-i32-f32.stderr
@@ -10,6 +10,10 @@ LL |     x * y
              <&i32 as Mul<&i32>>
              <i32 as Mul<&i32>>
              <i32 as Mul>
+             <&'a f32 as Mul<f32>>
+             <&'a f64 as Mul<f64>>
+             <&'a i128 as Mul<i128>>
+             <&'a i16 as Mul<i16>>
            and 49 others
 
 error: aborting due to previous error
diff --git a/src/test/ui/binop/issue-77910-1.stderr b/src/test/ui/binop/issue-77910-1.stderr
index 9553fcc5bb2..16b06a0198b 100644
--- a/src/test/ui/binop/issue-77910-1.stderr
+++ b/src/test/ui/binop/issue-77910-1.stderr
@@ -21,6 +21,10 @@ LL |     assert_eq!(foo, y);
              <extern "C" fn(A) -> Ret as Debug>
              <extern "C" fn(A, ...) -> Ret as Debug>
              <extern "C" fn(A, B) -> Ret as Debug>
+             <extern "C" fn(A, B, ...) -> Ret as Debug>
+             <extern "C" fn(A, B, C) -> Ret as Debug>
+             <extern "C" fn(A, B, C, ...) -> Ret as Debug>
+             <extern "C" fn(A, B, C, D) -> Ret as Debug>
            and 68 others
    = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
 
diff --git a/src/test/ui/binop/shift-various-bad-types.stderr b/src/test/ui/binop/shift-various-bad-types.stderr
index e134095e638..8fdb377751c 100644
--- a/src/test/ui/binop/shift-various-bad-types.stderr
+++ b/src/test/ui/binop/shift-various-bad-types.stderr
@@ -10,6 +10,10 @@ LL |     22 >> p.char;
              <&'a i128 as Shr<i16>>
              <&'a i128 as Shr<i32>>
              <&'a i128 as Shr<i64>>
+             <&'a i128 as Shr<i8>>
+             <&'a i128 as Shr<isize>>
+             <&'a i128 as Shr<u128>>
+             <&'a i128 as Shr<u16>>
            and 568 others
 
 error[E0277]: no implementation for `{integer} >> &str`
@@ -24,6 +28,10 @@ LL |     22 >> p.str;
              <&'a i128 as Shr<i16>>
              <&'a i128 as Shr<i32>>
              <&'a i128 as Shr<i64>>
+             <&'a i128 as Shr<i8>>
+             <&'a i128 as Shr<isize>>
+             <&'a i128 as Shr<u128>>
+             <&'a i128 as Shr<u16>>
            and 568 others
 
 error[E0277]: no implementation for `{integer} >> &Panolpy`
@@ -38,6 +46,10 @@ LL |     22 >> p;
              <&'a i128 as Shr<i16>>
              <&'a i128 as Shr<i32>>
              <&'a i128 as Shr<i64>>
+             <&'a i128 as Shr<i8>>
+             <&'a i128 as Shr<isize>>
+             <&'a i128 as Shr<u128>>
+             <&'a i128 as Shr<u16>>
            and 568 others
 
 error[E0308]: mismatched types
diff --git a/src/test/ui/const-generics/exhaustive-value.stderr b/src/test/ui/const-generics/exhaustive-value.stderr
index cb85b6cb93d..fcbb41bb4fc 100644
--- a/src/test/ui/const-generics/exhaustive-value.stderr
+++ b/src/test/ui/const-generics/exhaustive-value.stderr
@@ -9,6 +9,10 @@ LL |     <() as Foo<N>>::test()
              <() as Foo<100_u8>>
              <() as Foo<101_u8>>
              <() as Foo<102_u8>>
+             <() as Foo<103_u8>>
+             <() as Foo<104_u8>>
+             <() as Foo<105_u8>>
+             <() as Foo<106_u8>>
            and 248 others
 
 error: aborting due to previous error
diff --git a/src/test/ui/consts/const-eval/const-eval-overflow-3b.stderr b/src/test/ui/consts/const-eval/const-eval-overflow-3b.stderr
index aee7192b6ed..d2d68506d4e 100644
--- a/src/test/ui/consts/const-eval/const-eval-overflow-3b.stderr
+++ b/src/test/ui/consts/const-eval/const-eval-overflow-3b.stderr
@@ -16,6 +16,10 @@ LL |     = [0; (i8::MAX + 1u8) as usize];
              <&i8 as Add<&i8>>
              <i8 as Add<&i8>>
              <i8 as Add>
+             <&'a f32 as Add<f32>>
+             <&'a f64 as Add<f64>>
+             <&'a i128 as Add<i128>>
+             <&'a i16 as Add<i16>>
            and 48 others
 
 error: aborting due to 2 previous errors
diff --git a/src/test/ui/consts/const-eval/const-eval-overflow-4b.stderr b/src/test/ui/consts/const-eval/const-eval-overflow-4b.stderr
index 059447f7cac..818e3bc15b1 100644
--- a/src/test/ui/consts/const-eval/const-eval-overflow-4b.stderr
+++ b/src/test/ui/consts/const-eval/const-eval-overflow-4b.stderr
@@ -16,6 +16,10 @@ LL |     : [u32; (i8::MAX as i8 + 1u8) as usize]
              <&i8 as Add<&i8>>
              <i8 as Add<&i8>>
              <i8 as Add>
+             <&'a f32 as Add<f32>>
+             <&'a f64 as Add<f64>>
+             <&'a i128 as Add<i128>>
+             <&'a i16 as Add<i16>>
            and 48 others
 
 error[E0604]: only `u8` can be cast as `char`, not `i8`
diff --git a/src/test/ui/consts/too_generic_eval_ice.stderr b/src/test/ui/consts/too_generic_eval_ice.stderr
index 677fa7d21ae..45459b931ca 100644
--- a/src/test/ui/consts/too_generic_eval_ice.stderr
+++ b/src/test/ui/consts/too_generic_eval_ice.stderr
@@ -26,6 +26,10 @@ LL |         [5; Self::HOST_SIZE] == [6; 0]
              <&[T] as PartialEq<Vec<U, A>>>
              <&mut [B] as PartialEq<[A; N]>>
              <&mut [T] as PartialEq<Vec<U, A>>>
+             <[A; N] as PartialEq<&[B]>>
+             <[A; N] as PartialEq<&mut [B]>>
+             <[A; N] as PartialEq<[B; N]>>
+             <[A; N] as PartialEq<[B]>>
            and 3 others
 
 error: aborting due to 3 previous errors
diff --git a/src/test/ui/did_you_mean/issue-21659-show-relevant-trait-impls-2.stderr b/src/test/ui/did_you_mean/issue-21659-show-relevant-trait-impls-2.stderr
index ea461241bf4..f25c7ce00e5 100644
--- a/src/test/ui/did_you_mean/issue-21659-show-relevant-trait-impls-2.stderr
+++ b/src/test/ui/did_you_mean/issue-21659-show-relevant-trait-impls-2.stderr
@@ -9,6 +9,8 @@ LL |     f1.foo(1usize);
              <Bar as Foo<i32>>
              <Bar as Foo<i8>>
              <Bar as Foo<u16>>
+             <Bar as Foo<u32>>
+             <Bar as Foo<u8>>
 
 error: aborting due to previous error
 
diff --git a/src/test/ui/did_you_mean/issue-39802-show-5-trait-impls.stderr b/src/test/ui/did_you_mean/issue-39802-show-5-trait-impls.stderr
index 58faaf4ea90..3aa863e900f 100644
--- a/src/test/ui/did_you_mean/issue-39802-show-5-trait-impls.stderr
+++ b/src/test/ui/did_you_mean/issue-39802-show-5-trait-impls.stderr
@@ -11,6 +11,11 @@ LL |     Foo::<i32>::bar(&1i8);
              <i8 as Foo<u16>>
              <i8 as Foo<u32>>
              <i8 as Foo<u64>>
+             <i8 as Foo<u8>>
+             <u8 as Foo<bool>>
+             <u8 as Foo<u16>>
+             <u8 as Foo<u32>>
+             <u8 as Foo<u64>>
 
 error[E0277]: the trait bound `u8: Foo<i32>` is not satisfied
   --> $DIR/issue-39802-show-5-trait-impls.rs:25:21
@@ -25,6 +30,11 @@ LL |     Foo::<i32>::bar(&1u8);
              <u8 as Foo<u16>>
              <u8 as Foo<u32>>
              <u8 as Foo<u64>>
+             <i8 as Foo<bool>>
+             <i8 as Foo<u16>>
+             <i8 as Foo<u32>>
+             <i8 as Foo<u64>>
+             <i8 as Foo<u8>>
 
 error[E0277]: the trait bound `bool: Foo<i32>` is not satisfied
   --> $DIR/issue-39802-show-5-trait-impls.rs:26:21
@@ -39,6 +49,8 @@ LL |     Foo::<i32>::bar(&true);
              <bool as Foo<i8>>
              <bool as Foo<u16>>
              <bool as Foo<u32>>
+             <bool as Foo<u64>>
+             <bool as Foo<u8>>
 
 error: aborting due to 3 previous errors
 
diff --git a/src/test/ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.stderr b/src/test/ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.stderr
index c12b02a76c5..bd9d9e086e0 100644
--- a/src/test/ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.stderr
+++ b/src/test/ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.stderr
@@ -27,6 +27,10 @@ LL | const UNIVERSAL_GRAVITATIONAL_CONSTANT: f64 = 6.674e−11; // m³⋅kg⁻¹
              <&'a f64 as Sub<f64>>
              <&'a i128 as Sub<i128>>
              <&'a i16 as Sub<i16>>
+             <&'a i32 as Sub<i32>>
+             <&'a i64 as Sub<i64>>
+             <&'a i8 as Sub<i8>>
+             <&'a isize as Sub<isize>>
            and 48 others
 
 error: aborting due to 3 previous errors
diff --git a/src/test/ui/impl-trait/equality.stderr b/src/test/ui/impl-trait/equality.stderr
index 6592e234d98..9137183375a 100644
--- a/src/test/ui/impl-trait/equality.stderr
+++ b/src/test/ui/impl-trait/equality.stderr
@@ -29,6 +29,10 @@ LL |         n + sum_to(n - 1)
              <&u32 as Add<&u32>>
              <u32 as Add<&u32>>
              <u32 as Add>
+             <&'a f32 as Add<f32>>
+             <&'a f64 as Add<f64>>
+             <&'a i128 as Add<i128>>
+             <&'a i16 as Add<i16>>
            and 48 others
 
 error: aborting due to 2 previous errors; 1 warning emitted
diff --git a/src/test/ui/issues/issue-11771.stderr b/src/test/ui/issues/issue-11771.stderr
index 2b93d4aab27..01967777598 100644
--- a/src/test/ui/issues/issue-11771.stderr
+++ b/src/test/ui/issues/issue-11771.stderr
@@ -10,6 +10,10 @@ LL |     1 +
              <&'a f64 as Add<f64>>
              <&'a i128 as Add<i128>>
              <&'a i16 as Add<i16>>
+             <&'a i32 as Add<i32>>
+             <&'a i64 as Add<i64>>
+             <&'a i8 as Add<i8>>
+             <&'a isize as Add<isize>>
            and 48 others
 
 error[E0277]: cannot add `()` to `{integer}`
@@ -24,6 +28,10 @@ LL |     1 +
              <&'a f64 as Add<f64>>
              <&'a i128 as Add<i128>>
              <&'a i16 as Add<i16>>
+             <&'a i32 as Add<i32>>
+             <&'a i64 as Add<i64>>
+             <&'a i8 as Add<i8>>
+             <&'a isize as Add<isize>>
            and 48 others
 
 error: aborting due to 2 previous errors
diff --git a/src/test/ui/issues/issue-24352.stderr b/src/test/ui/issues/issue-24352.stderr
index f61ff0bda0b..364fbbc981e 100644
--- a/src/test/ui/issues/issue-24352.stderr
+++ b/src/test/ui/issues/issue-24352.stderr
@@ -10,6 +10,10 @@ LL |     1.0f64 - 1
              <&f64 as Sub<&f64>>
              <f64 as Sub<&f64>>
              <f64 as Sub>
+             <&'a f32 as Sub<f32>>
+             <&'a i128 as Sub<i128>>
+             <&'a i16 as Sub<i16>>
+             <&'a i32 as Sub<i32>>
            and 48 others
 help: consider using a floating-point literal by writing it with `.0`
    |
diff --git a/src/test/ui/issues/issue-50582.stderr b/src/test/ui/issues/issue-50582.stderr
index 64bcfcd6016..a1e614807de 100644
--- a/src/test/ui/issues/issue-50582.stderr
+++ b/src/test/ui/issues/issue-50582.stderr
@@ -19,6 +19,10 @@ LL |     Vec::<[(); 1 + for x in 0..1 {}]>::new();
              <&'a f64 as Add<f64>>
              <&'a i128 as Add<i128>>
              <&'a i16 as Add<i16>>
+             <&'a i32 as Add<i32>>
+             <&'a i64 as Add<i64>>
+             <&'a i8 as Add<i8>>
+             <&'a isize as Add<isize>>
            and 48 others
 
 error: aborting due to 2 previous errors
diff --git a/src/test/ui/issues/issue-59488.stderr b/src/test/ui/issues/issue-59488.stderr
index 55616d2d322..c61d44bf895 100644
--- a/src/test/ui/issues/issue-59488.stderr
+++ b/src/test/ui/issues/issue-59488.stderr
@@ -99,6 +99,10 @@ LL |     assert_eq!(Foo::Bar, i);
              <extern "C" fn(A) -> Ret as Debug>
              <extern "C" fn(A, ...) -> Ret as Debug>
              <extern "C" fn(A, B) -> Ret as Debug>
+             <extern "C" fn(A, B, ...) -> Ret as Debug>
+             <extern "C" fn(A, B, C) -> Ret as Debug>
+             <extern "C" fn(A, B, C, ...) -> Ret as Debug>
+             <extern "C" fn(A, B, C, D) -> Ret as Debug>
            and 68 others
    = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
 
diff --git a/src/test/ui/kindck/kindck-copy.stderr b/src/test/ui/kindck/kindck-copy.stderr
index 6272c4b7022..29c9b872b58 100644
--- a/src/test/ui/kindck/kindck-copy.stderr
+++ b/src/test/ui/kindck/kindck-copy.stderr
@@ -9,6 +9,10 @@ LL |     assert_copy::<&'static mut isize>();
              <f32 as Copy>
              <f64 as Copy>
              <i128 as Copy>
+             <i16 as Copy>
+             <i32 as Copy>
+             <i64 as Copy>
+             <i8 as Copy>
            and 6 others
 note: required by a bound in `assert_copy`
   --> $DIR/kindck-copy.rs:5:18
@@ -27,6 +31,10 @@ LL |     assert_copy::<&'a mut isize>();
              <f32 as Copy>
              <f64 as Copy>
              <i128 as Copy>
+             <i16 as Copy>
+             <i32 as Copy>
+             <i64 as Copy>
+             <i8 as Copy>
            and 6 others
 note: required by a bound in `assert_copy`
   --> $DIR/kindck-copy.rs:5:18
diff --git a/src/test/ui/lexer/lex-bad-char-literals-6.stderr b/src/test/ui/lexer/lex-bad-char-literals-6.stderr
index 0e1851d292c..9df6c92d1e5 100644
--- a/src/test/ui/lexer/lex-bad-char-literals-6.stderr
+++ b/src/test/ui/lexer/lex-bad-char-literals-6.stderr
@@ -43,6 +43,10 @@ LL |     if x == y {}
              <&'a str as PartialEq<String>>
              <&'b str as PartialEq<Cow<'a, str>>>
              <str as PartialEq<Cow<'a, str>>>
+             <str as PartialEq<OsStr>>
+             <str as PartialEq<OsString>>
+             <str as PartialEq<String>>
+             <str as PartialEq>
            and 4 others
 
 error[E0308]: mismatched types
@@ -65,6 +69,10 @@ LL |     if x == z {}
              <&'a str as PartialEq<String>>
              <&'b str as PartialEq<Cow<'a, str>>>
              <str as PartialEq<Cow<'a, str>>>
+             <str as PartialEq<OsStr>>
+             <str as PartialEq<OsString>>
+             <str as PartialEq<String>>
+             <str as PartialEq>
            and 4 others
 
 error: aborting due to 6 previous errors
diff --git a/src/test/ui/mismatched_types/binops.stderr b/src/test/ui/mismatched_types/binops.stderr
index 6e67a7b4545..843ae5044c3 100644
--- a/src/test/ui/mismatched_types/binops.stderr
+++ b/src/test/ui/mismatched_types/binops.stderr
@@ -10,6 +10,10 @@ LL |     1 + Some(1);
              <&'a f64 as Add<f64>>
              <&'a i128 as Add<i128>>
              <&'a i16 as Add<i16>>
+             <&'a i32 as Add<i32>>
+             <&'a i64 as Add<i64>>
+             <&'a i8 as Add<i8>>
+             <&'a isize as Add<isize>>
            and 48 others
 
 error[E0277]: cannot subtract `Option<{integer}>` from `usize`
@@ -24,6 +28,10 @@ LL |     2 as usize - Some(1);
              <&usize as Sub<&usize>>
              <usize as Sub<&usize>>
              <usize as Sub>
+             <&'a f32 as Sub<f32>>
+             <&'a f64 as Sub<f64>>
+             <&'a i128 as Sub<i128>>
+             <&'a i16 as Sub<i16>>
            and 48 others
 
 error[E0277]: cannot multiply `{integer}` by `()`
@@ -38,6 +46,10 @@ LL |     3 * ();
              <&'a f64 as Mul<f64>>
              <&'a i128 as Mul<i128>>
              <&'a i16 as Mul<i16>>
+             <&'a i32 as Mul<i32>>
+             <&'a i64 as Mul<i64>>
+             <&'a i8 as Mul<i8>>
+             <&'a isize as Mul<isize>>
            and 49 others
 
 error[E0277]: cannot divide `{integer}` by `&str`
@@ -52,6 +64,10 @@ LL |     4 / "";
              <&'a f64 as Div<f64>>
              <&'a i128 as Div<i128>>
              <&'a i16 as Div<i16>>
+             <&'a i32 as Div<i32>>
+             <&'a i64 as Div<i64>>
+             <&'a i8 as Div<i8>>
+             <&'a isize as Div<isize>>
            and 54 others
 
 error[E0277]: can't compare `{integer}` with `String`
@@ -66,6 +82,10 @@ LL |     5 < String::new();
              <f64 as PartialOrd>
              <i128 as PartialOrd>
              <i16 as PartialOrd>
+             <i32 as PartialOrd>
+             <i64 as PartialOrd>
+             <i8 as PartialOrd>
+             <isize as PartialOrd>
            and 6 others
 
 error[E0277]: can't compare `{integer}` with `Result<{integer}, _>`
@@ -80,6 +100,10 @@ LL |     6 == Ok(1);
              <f64 as PartialEq>
              <i128 as PartialEq>
              <i16 as PartialEq>
+             <i32 as PartialEq>
+             <i64 as PartialEq>
+             <i8 as PartialEq>
+             <isize as PartialEq>
            and 6 others
 
 error: aborting due to 6 previous errors
diff --git a/src/test/ui/never_type/issue-13352.stderr b/src/test/ui/never_type/issue-13352.stderr
index 12a6d7962f4..cfb5d28e767 100644
--- a/src/test/ui/never_type/issue-13352.stderr
+++ b/src/test/ui/never_type/issue-13352.stderr
@@ -10,6 +10,10 @@ LL |     2_usize + (loop {});
              <&usize as Add<&usize>>
              <usize as Add<&usize>>
              <usize as Add>
+             <&'a f32 as Add<f32>>
+             <&'a f64 as Add<f64>>
+             <&'a i128 as Add<i128>>
+             <&'a i16 as Add<i16>>
            and 48 others
 
 error: aborting due to previous error
diff --git a/src/test/ui/numbers-arithmetic/not-suggest-float-literal.stderr b/src/test/ui/numbers-arithmetic/not-suggest-float-literal.stderr
index d8bba1509d8..431cbf81b01 100644
--- a/src/test/ui/numbers-arithmetic/not-suggest-float-literal.stderr
+++ b/src/test/ui/numbers-arithmetic/not-suggest-float-literal.stderr
@@ -10,6 +10,10 @@ LL |     x + 100.0
              <&u8 as Add<&u8>>
              <u8 as Add<&u8>>
              <u8 as Add>
+             <&'a f32 as Add<f32>>
+             <&'a f64 as Add<f64>>
+             <&'a i128 as Add<i128>>
+             <&'a i16 as Add<i16>>
            and 48 others
 
 error[E0277]: cannot add `&str` to `f64`
@@ -24,6 +28,10 @@ LL |     x + "foo"
              <&f64 as Add<&f64>>
              <f64 as Add<&f64>>
              <f64 as Add>
+             <&'a f32 as Add<f32>>
+             <&'a i128 as Add<i128>>
+             <&'a i16 as Add<i16>>
+             <&'a i32 as Add<i32>>
            and 48 others
 
 error[E0277]: cannot add `{integer}` to `f64`
@@ -38,6 +46,10 @@ LL |     x + y
              <&f64 as Add<&f64>>
              <f64 as Add<&f64>>
              <f64 as Add>
+             <&'a f32 as Add<f32>>
+             <&'a i128 as Add<i128>>
+             <&'a i16 as Add<i16>>
+             <&'a i32 as Add<i32>>
            and 48 others
 
 error[E0277]: cannot subtract `{float}` from `u8`
@@ -52,6 +64,10 @@ LL |     x - 100.0
              <&u8 as Sub<&u8>>
              <u8 as Sub<&u8>>
              <u8 as Sub>
+             <&'a f32 as Sub<f32>>
+             <&'a f64 as Sub<f64>>
+             <&'a i128 as Sub<i128>>
+             <&'a i16 as Sub<i16>>
            and 48 others
 
 error[E0277]: cannot subtract `&str` from `f64`
@@ -66,6 +82,10 @@ LL |     x - "foo"
              <&f64 as Sub<&f64>>
              <f64 as Sub<&f64>>
              <f64 as Sub>
+             <&'a f32 as Sub<f32>>
+             <&'a i128 as Sub<i128>>
+             <&'a i16 as Sub<i16>>
+             <&'a i32 as Sub<i32>>
            and 48 others
 
 error[E0277]: cannot subtract `{integer}` from `f64`
@@ -80,6 +100,10 @@ LL |     x - y
              <&f64 as Sub<&f64>>
              <f64 as Sub<&f64>>
              <f64 as Sub>
+             <&'a f32 as Sub<f32>>
+             <&'a i128 as Sub<i128>>
+             <&'a i16 as Sub<i16>>
+             <&'a i32 as Sub<i32>>
            and 48 others
 
 error[E0277]: cannot multiply `u8` by `{float}`
@@ -94,6 +118,10 @@ LL |     x * 100.0
              <&u8 as Mul<&u8>>
              <u8 as Mul<&u8>>
              <u8 as Mul>
+             <&'a f32 as Mul<f32>>
+             <&'a f64 as Mul<f64>>
+             <&'a i128 as Mul<i128>>
+             <&'a i16 as Mul<i16>>
            and 49 others
 
 error[E0277]: cannot multiply `f64` by `&str`
@@ -108,6 +136,10 @@ LL |     x * "foo"
              <&f64 as Mul<&f64>>
              <f64 as Mul<&f64>>
              <f64 as Mul>
+             <&'a f32 as Mul<f32>>
+             <&'a i128 as Mul<i128>>
+             <&'a i16 as Mul<i16>>
+             <&'a i32 as Mul<i32>>
            and 49 others
 
 error[E0277]: cannot multiply `f64` by `{integer}`
@@ -122,6 +154,10 @@ LL |     x * y
              <&f64 as Mul<&f64>>
              <f64 as Mul<&f64>>
              <f64 as Mul>
+             <&'a f32 as Mul<f32>>
+             <&'a i128 as Mul<i128>>
+             <&'a i16 as Mul<i16>>
+             <&'a i32 as Mul<i32>>
            and 49 others
 
 error[E0277]: cannot divide `u8` by `{float}`
@@ -136,6 +172,10 @@ LL |     x / 100.0
              <&u8 as Div<&u8>>
              <u8 as Div<&u8>>
              <u8 as Div<NonZeroU8>>
+             <u8 as Div>
+             <&'a f32 as Div<f32>>
+             <&'a f64 as Div<f64>>
+             <&'a i128 as Div<i128>>
            and 54 others
 
 error[E0277]: cannot divide `f64` by `&str`
@@ -150,6 +190,10 @@ LL |     x / "foo"
              <&f64 as Div<&f64>>
              <f64 as Div<&f64>>
              <f64 as Div>
+             <&'a f32 as Div<f32>>
+             <&'a i128 as Div<i128>>
+             <&'a i16 as Div<i16>>
+             <&'a i32 as Div<i32>>
            and 54 others
 
 error[E0277]: cannot divide `f64` by `{integer}`
@@ -164,6 +208,10 @@ LL |     x / y
              <&f64 as Div<&f64>>
              <f64 as Div<&f64>>
              <f64 as Div>
+             <&'a f32 as Div<f32>>
+             <&'a i128 as Div<i128>>
+             <&'a i16 as Div<i16>>
+             <&'a i32 as Div<i32>>
            and 54 others
 
 error: aborting due to 12 previous errors
diff --git a/src/test/ui/numbers-arithmetic/suggest-float-literal.stderr b/src/test/ui/numbers-arithmetic/suggest-float-literal.stderr
index b7591dfca99..543e3137fdd 100644
--- a/src/test/ui/numbers-arithmetic/suggest-float-literal.stderr
+++ b/src/test/ui/numbers-arithmetic/suggest-float-literal.stderr
@@ -10,6 +10,10 @@ LL |     x + 100
              <&f32 as Add<&f32>>
              <f32 as Add<&f32>>
              <f32 as Add>
+             <&'a f64 as Add<f64>>
+             <&'a i128 as Add<i128>>
+             <&'a i16 as Add<i16>>
+             <&'a i32 as Add<i32>>
            and 48 others
 help: consider using a floating-point literal by writing it with `.0`
    |
@@ -28,6 +32,10 @@ LL |     x + 100
              <&f64 as Add<&f64>>
              <f64 as Add<&f64>>
              <f64 as Add>
+             <&'a f32 as Add<f32>>
+             <&'a i128 as Add<i128>>
+             <&'a i16 as Add<i16>>
+             <&'a i32 as Add<i32>>
            and 48 others
 help: consider using a floating-point literal by writing it with `.0`
    |
@@ -46,6 +54,10 @@ LL |     x - 100
              <&f32 as Sub<&f32>>
              <f32 as Sub<&f32>>
              <f32 as Sub>
+             <&'a f64 as Sub<f64>>
+             <&'a i128 as Sub<i128>>
+             <&'a i16 as Sub<i16>>
+             <&'a i32 as Sub<i32>>
            and 48 others
 help: consider using a floating-point literal by writing it with `.0`
    |
@@ -64,6 +76,10 @@ LL |     x - 100
              <&f64 as Sub<&f64>>
              <f64 as Sub<&f64>>
              <f64 as Sub>
+             <&'a f32 as Sub<f32>>
+             <&'a i128 as Sub<i128>>
+             <&'a i16 as Sub<i16>>
+             <&'a i32 as Sub<i32>>
            and 48 others
 help: consider using a floating-point literal by writing it with `.0`
    |
@@ -82,6 +98,10 @@ LL |     x * 100
              <&f32 as Mul<&f32>>
              <f32 as Mul<&f32>>
              <f32 as Mul>
+             <&'a f64 as Mul<f64>>
+             <&'a i128 as Mul<i128>>
+             <&'a i16 as Mul<i16>>
+             <&'a i32 as Mul<i32>>
            and 49 others
 help: consider using a floating-point literal by writing it with `.0`
    |
@@ -100,6 +120,10 @@ LL |     x * 100
              <&f64 as Mul<&f64>>
              <f64 as Mul<&f64>>
              <f64 as Mul>
+             <&'a f32 as Mul<f32>>
+             <&'a i128 as Mul<i128>>
+             <&'a i16 as Mul<i16>>
+             <&'a i32 as Mul<i32>>
            and 49 others
 help: consider using a floating-point literal by writing it with `.0`
    |
@@ -118,6 +142,10 @@ LL |     x / 100
              <&f32 as Div<&f32>>
              <f32 as Div<&f32>>
              <f32 as Div>
+             <&'a f64 as Div<f64>>
+             <&'a i128 as Div<i128>>
+             <&'a i16 as Div<i16>>
+             <&'a i32 as Div<i32>>
            and 54 others
 help: consider using a floating-point literal by writing it with `.0`
    |
@@ -136,6 +164,10 @@ LL |     x / 100
              <&f64 as Div<&f64>>
              <f64 as Div<&f64>>
              <f64 as Div>
+             <&'a f32 as Div<f32>>
+             <&'a i128 as Div<i128>>
+             <&'a i16 as Div<i16>>
+             <&'a i32 as Div<i32>>
            and 54 others
 help: consider using a floating-point literal by writing it with `.0`
    |
diff --git a/src/test/ui/span/multiline-span-simple.stderr b/src/test/ui/span/multiline-span-simple.stderr
index 1542832f012..dee457ebd7f 100644
--- a/src/test/ui/span/multiline-span-simple.stderr
+++ b/src/test/ui/span/multiline-span-simple.stderr
@@ -10,6 +10,10 @@ LL |     foo(1 as u32 +
              <&u32 as Add<&u32>>
              <u32 as Add<&u32>>
              <u32 as Add>
+             <&'a f32 as Add<f32>>
+             <&'a f64 as Add<f64>>
+             <&'a i128 as Add<i128>>
+             <&'a i16 as Add<i16>>
            and 48 others
 
 error: aborting due to previous error
diff --git a/src/test/ui/suggestions/into-str.stderr b/src/test/ui/suggestions/into-str.stderr
index 4bdea05b06b..88a0f8f0650 100644
--- a/src/test/ui/suggestions/into-str.stderr
+++ b/src/test/ui/suggestions/into-str.stderr
@@ -12,6 +12,8 @@ LL |     foo(String::new());
              <String as From<&mut str>>
              <String as From<&str>>
              <String as From<Box<str>>>
+             <String as From<Cow<'a, str>>>
+             <String as From<char>>
    = note: required because of the requirements on the impl of `Into<&str>` for `String`
 note: required by a bound in `foo`
   --> $DIR/into-str.rs:1:31
diff --git a/src/test/ui/try-trait/bad-interconversion.stderr b/src/test/ui/try-trait/bad-interconversion.stderr
index fc2692a9a93..6567eca38c8 100644
--- a/src/test/ui/try-trait/bad-interconversion.stderr
+++ b/src/test/ui/try-trait/bad-interconversion.stderr
@@ -12,6 +12,10 @@ LL |     Ok(Err(123_i32)?)
              <u8 as From<bool>>
              <f32 as From<i16>>
              <f32 as From<i8>>
+             <f32 as From<u16>>
+             <f32 as From<u8>>
+             <f64 as From<f32>>
+             <f64 as From<i16>>
            and 67 others
    = note: required because of the requirements on the impl of `FromResidual<Result<Infallible, i32>>` for `Result<u64, u8>`
 
diff --git a/src/test/ui/type/type-check-defaults.stderr b/src/test/ui/type/type-check-defaults.stderr
index 80ff068ff30..15bbfeb87c6 100644
--- a/src/test/ui/type/type-check-defaults.stderr
+++ b/src/test/ui/type/type-check-defaults.stderr
@@ -70,6 +70,10 @@ LL | trait ProjectionPred<T:Iterator = IntoIter<i32>> where T::Item : Add<u8> {}
              <&i32 as Add<&i32>>
              <i32 as Add<&i32>>
              <i32 as Add>
+             <&'a f32 as Add<f32>>
+             <&'a f64 as Add<f64>>
+             <&'a i128 as Add<i128>>
+             <&'a i16 as Add<i16>>
            and 48 others
 
 error: aborting due to 7 previous errors
diff --git a/src/test/ui/typeck/issue-81293.stderr b/src/test/ui/typeck/issue-81293.stderr
index 0a5ec56e915..9e2d8a6159c 100644
--- a/src/test/ui/typeck/issue-81293.stderr
+++ b/src/test/ui/typeck/issue-81293.stderr
@@ -25,6 +25,10 @@ LL |     a = c + b * 5;
              <&usize as Add<&usize>>
              <usize as Add<&usize>>
              <usize as Add>
+             <&'a f32 as Add<f32>>
+             <&'a f64 as Add<f64>>
+             <&'a i128 as Add<i128>>
+             <&'a i16 as Add<i16>>
            and 48 others
 
 error: aborting due to 3 previous errors
diff --git a/src/test/ui/ufcs/ufcs-qpath-self-mismatch.stderr b/src/test/ui/ufcs/ufcs-qpath-self-mismatch.stderr
index c769a0df7c8..64da15c5055 100644
--- a/src/test/ui/ufcs/ufcs-qpath-self-mismatch.stderr
+++ b/src/test/ui/ufcs/ufcs-qpath-self-mismatch.stderr
@@ -10,6 +10,10 @@ LL |     <i32 as Add<u32>>::add(1, 2);
              <&i32 as Add<&i32>>
              <i32 as Add<&i32>>
              <i32 as Add>
+             <&'a f32 as Add<f32>>
+             <&'a f64 as Add<f64>>
+             <&'a i128 as Add<i128>>
+             <&'a i16 as Add<i16>>
            and 48 others
 
 error[E0308]: mismatched types