Auto merge of #43015 - arielb1:every-error-counts, r=eddyb
report the total number of errors on compilation failure Prior to this PR, when we aborted because a "critical pass" failed, we displayed the number of errors from that critical pass. While that's the number of errors that caused compilation to abort in *that place*, that's not what people really want to know. Instead, always report the total number of errors, and don't bother to track the number of errors from the last pass that failed. This changes the compiler driver API to handle errors more smoothly, therefore is a compiler-api-[breaking-change]. Fixes #42793. r? @eddyb
This commit is contained in:
commit
2a992167c5
295 changed files with 412 additions and 379 deletions
|
|
@ -85,6 +85,6 @@ fn main() {
|
|||
let (result, _) = rustc_driver::run_compiler(
|
||||
&args, &mut JitCalls, Some(box JitLoader), None);
|
||||
if let Err(n) = result {
|
||||
panic!("Error {}", n);
|
||||
panic!("Error {:?}", n);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0308]: mismatched types
|
|||
= note: expected type `()`
|
||||
found type `bool`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0308]: mismatched types
|
|||
= note: expected type `()`
|
||||
found type `bool`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0308]: mismatched types
|
|||
= note: expected type `()`
|
||||
found type `bool`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -26,5 +26,5 @@ error[E0308]: mismatched types
|
|||
= note: expected type `std::string::String`
|
||||
found type `()`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -13,5 +13,5 @@ error[E0308]: mismatched types
|
|||
= note: expected type `i32`
|
||||
found type `()`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -29,5 +29,5 @@ error[E0308]: mismatched types
|
|||
= note: expected type `std::string::String`
|
||||
found type `()`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -16,5 +16,5 @@ error[E0308]: mismatched types
|
|||
= note: expected type `()`
|
||||
found type `a::Enum`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -15,5 +15,5 @@ error[E0618]: expected function, found `()`
|
|||
17 | let x = foo(5)(2);
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -17,5 +17,5 @@ error[E0308]: mismatched types
|
|||
= note: expected type `()`
|
||||
found type `Bob`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -15,5 +15,5 @@ error[E0308]: mismatched types
|
|||
= note: expected type `()`
|
||||
found type `[closure@$DIR/issue-3563.rs:13:9: 13:20 self:_]`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0308]: mismatched types
|
|||
= note: expected type `()`
|
||||
found type `&_`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -11,5 +11,5 @@ help: did you mean to add a semicolon here?
|
|||
help: possibly return type missing here?
|
||||
| fn bar() -> usize {
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ error[E0507]: cannot move out of captured outer variable in an `Fn` closure
|
|||
15 | Box::new(|| x) //~ ERROR cannot move out of captured outer variable
|
||||
| ^ cannot move out of captured outer variable in an `Fn` closure
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0507]: cannot move out of captured outer variable in an `Fn` closure
|
|||
21 | y.into_iter();
|
||||
| ^ cannot move out of captured outer variable in an `Fn` closure
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -46,5 +46,5 @@ error[E0004]: non-exhaustive patterns: `Some(B)`, `Some(C)`, `Some(D)` and 2 mor
|
|||
49 | match Some(A) {
|
||||
| ^^^^^^^ patterns `Some(B)`, `Some(C)`, `Some(D)` and 2 more not covered
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 8 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -16,5 +16,5 @@ note: closure is `FnMut` because it mutates the variable `num` here
|
|||
15 | num += 1;
|
||||
| ^^^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -16,5 +16,5 @@ note: closure is `FnOnce` because it moves the variable `vec` out of its environ
|
|||
15 | vec
|
||||
| ^^^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ note: closure cannot be invoked more than once because it moves the variable `di
|
|||
16 | for (key, value) in dict {
|
||||
| ^^^^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -22,5 +22,5 @@ error: expected token: `,`
|
|||
|
|
||||
= note: this error originates in a macro outside of the current crate
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ error[E0592]: duplicate definitions with name `f`
|
|||
15 | impl C { fn f() {} }
|
||||
| --------- other definition for `f`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -4,5 +4,5 @@ error[E0321]: cross-crate traits with a default impl, like `std::marker::Send`,
|
|||
17 | unsafe impl Send for &'static Foo { }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0596]: cannot borrow immutable local variable `x` as mutable
|
|||
100 | let y = &mut x;
|
||||
| ^ cannot borrow mutably
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -8,5 +8,5 @@ error[E0499]: cannot borrow `x` as mutable more than once at a time
|
|||
101 | }
|
||||
| - first borrow ends here
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ error[E0600]: cannot apply unary operator `!` to type `&'static str`
|
|||
|
|
||||
= note: this error originates in a macro outside of the current crate
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0499]: cannot borrow `v` as mutable more than once at a time
|
|||
| | second mutable borrow occurs here
|
||||
| first mutable borrow occurs here
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -25,5 +25,5 @@ error[E0592]: duplicate definitions with name `baz`
|
|||
43 | fn baz(&self) {}
|
||||
| ---------------- other definition for `baz`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0509]: cannot move out of type `S`, which implements the `Drop` trait
|
|||
| | hint: to prevent move, use `ref _s` or `ref mut _s`
|
||||
| cannot move out of here
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -4,5 +4,5 @@ error[E0425]: cannot find value `bar` in this scope
|
|||
14 | \tbar;
|
||||
| \t^^^ not found in this scope
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -4,5 +4,5 @@ error: invalid ABI: expected one of [cdecl, stdcall, fastcall, vectorcall, thisc
|
|||
11 | extern "路濫狼á́́" fn foo() {}
|
||||
| ^^^^^^^^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -24,5 +24,5 @@ error[E0308]: mismatched types
|
|||
= note: expected type `std::result::Result<u8, u64>`
|
||||
found type `()`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -11,5 +11,5 @@ error[E0276]: impl has stricter requirements than trait
|
|||
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
|
||||
= note: for more information, see issue #37166 <https://github.com/rust-lang/rust/issues/37166>
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -10,5 +10,5 @@ error[E0276]: impl has stricter requirements than trait
|
|||
22 | | }
|
||||
| |_____^ impl has extra requirement `'a: 'b`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0276]: impl has stricter requirements than trait
|
|||
22 | fn foo() where 'a: 'b { }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ impl has extra requirement `'a: 'b`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -11,5 +11,5 @@ error[E0276]: impl has stricter requirements than trait
|
|||
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
|
||||
= note: for more information, see issue #37166 <https://github.com/rust-lang/rust/issues/37166>
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -10,5 +10,5 @@ error[E0053]: method `b` has an incompatible type for trait
|
|||
= note: expected type `fn(&E, F) -> F`
|
||||
found type `fn(&E, G) -> G`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0276]: impl has stricter requirements than trait
|
|||
25 | fn b<F: Sync, G>(&self, _x: F) -> F { panic!() } //~ ERROR E0276
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl has extra requirement `F: std::marker::Sync`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -61,5 +61,5 @@ error[E0276]: impl has stricter requirements than trait
|
|||
76 | fn method<G: Getter<usize>>(&self) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl has extra requirement `G: Getter<usize>`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 7 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -10,5 +10,5 @@ error[E0276]: impl has stricter requirements than trait
|
|||
26 | | }
|
||||
| |_____^ impl has extra requirement `U: Iterator<B>`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ error: invalid reference to argument `0` (no arguments given)
|
|||
|
|
||||
= note: this error originates in a macro outside of the current crate
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -22,5 +22,5 @@ error[E0178]: expected a path on the left-hand side of `+`, not `fn() -> Foo`
|
|||
17 | z: fn() -> Foo + 'a,
|
||||
| ^^^^^^^^^^^^^^^^ perhaps you forgot parentheses?
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -8,5 +8,5 @@ error[E0277]: the trait bound `Bar: Foo<usize>` is not satisfied
|
|||
<Bar as Foo<i32>>
|
||||
<Bar as Foo<u8>>
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -11,5 +11,5 @@ error[E0277]: the trait bound `Bar: Foo<usize>` is not satisfied
|
|||
<Bar as Foo<u8>>
|
||||
and 2 others
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -15,5 +15,5 @@ error[E0596]: cannot borrow immutable argument `self` as mutable
|
|||
23 | (&mut self).bar();
|
||||
| ^^^^ cannot borrow mutably
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0596]: cannot borrow immutable argument `self` as mutable
|
|||
| try removing `&mut` here
|
||||
| cannot reborrow mutably
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0596]: cannot borrow immutable local variable `key` as mutable
|
|||
| try removing `&mut` here
|
||||
| cannot reborrow mutably
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -22,5 +22,5 @@ error[E0594]: cannot assign to immutable field `s.x`
|
|||
30 | s.x += 1;
|
||||
| ^^^^^^^^ cannot mutably borrow immutable field
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -4,5 +4,5 @@ error[E0609]: no field `baz` on type `Foo`
|
|||
17 | f.baz;
|
||||
| ^^^ did you mean `bar`?
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -4,5 +4,5 @@ error[E0609]: no field `zz` on type `Foo`
|
|||
17 | f.zz;
|
||||
| ^^ unknown field
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0596]: cannot borrow immutable local variable `x` as mutable
|
|||
| try removing `&mut` here
|
||||
| cannot reborrow mutably
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -10,5 +10,5 @@ error[E0432]: unresolved import `Foo1`
|
|||
13 | use Foo1;
|
||||
| ^^^^ no `Foo1` in the root
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ error[E0389]: cannot borrow data mutably in a `&` reference
|
|||
27 | self.s.push('x');
|
||||
| ^^^^^^ assignment into an immutable reference
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0596]: cannot borrow immutable borrowed content `*self.s` as mutable
|
|||
17 | self.s.push('x');
|
||||
| ^^^^^^ cannot borrow as mutable
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0596]: cannot borrow immutable borrowed content `*self.s` as mutable
|
|||
17 | self.s.push('x');
|
||||
| ^^^^^^ cannot borrow as mutable
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ error[E0389]: cannot borrow data mutably in a `&` reference
|
|||
16 | f.s.push('x');
|
||||
| ^^^ assignment into an immutable reference
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -96,5 +96,5 @@ error[E0594]: cannot assign to immutable borrowed content `*x.0`
|
|||
58 | *x.0 = 1;
|
||||
| ^^^^^^^^ cannot borrow as mutable
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 12 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -39,5 +39,5 @@ error[E0277]: the trait bound `bool: Foo<i32>` is not satisfied
|
|||
and 2 others
|
||||
= note: required by `Foo::bar`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -64,5 +64,5 @@ error[E0038]: the trait `X` cannot be made into an object
|
|||
|
|
||||
= note: method `xxx` has no receiver
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 9 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -30,5 +30,5 @@ error: chained comparison operators require parentheses
|
|||
|
|
||||
= help: use `::<...>` instead of `<...>` if you meant to specify type arguments
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -4,5 +4,5 @@ error[E0596]: cannot borrow immutable borrowed content `*buf` as mutable
|
|||
13 | buf.iter_mut();
|
||||
| ^^^ cannot borrow as mutable
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ error: `~` can not be used as a unary operator
|
|||
|
|
||||
= help: use `!` instead of `~` if you meant to perform bitwise negation
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -17,5 +17,5 @@ error[E0275]: overflow evaluating the requirement `K: std::marker::Send`
|
|||
= note: required because it appears within the type `A`
|
||||
= note: required by `is_send`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -19,5 +19,5 @@ error[E0308]: mismatched types
|
|||
= note: expected type `&Bottom`
|
||||
found type `&Top`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -18,5 +18,5 @@ error[E0038]: the trait `std::marker::Copy` cannot be made into an object
|
|||
|
|
||||
= note: the trait cannot require that `Self : Sized`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -42,5 +42,5 @@ error[E0597]: `c` does not live long enough
|
|||
|
|
||||
= note: values in a scope are dropped in the opposite order they are created
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -20,5 +20,5 @@ error[E0569]: requires an `unsafe impl` declaration due to `#[may_dangle]` attri
|
|||
43 | | }
|
||||
| |_^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -42,5 +42,5 @@ error[E0597]: `c` does not live long enough
|
|||
|
|
||||
= note: values in a scope are dropped in the opposite order they are created
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -42,5 +42,5 @@ error[E0597]: `c` does not live long enough
|
|||
|
|
||||
= note: values in a scope are dropped in the opposite order they are created
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -16,5 +16,5 @@ error: invalid format string: unmatched `}` found
|
|||
= note: if you intended to print `}`, you can escape it using `}}`
|
||||
= note: this error originates in a macro outside of the current crate
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -51,5 +51,5 @@ error[E0308]: mismatched types
|
|||
= note: expected type `impl Foo` (i32)
|
||||
found type `impl Foo` (u32)
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 6 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -8,5 +8,5 @@ error[E0599]: no method named `foo` found for type `Bar` in the current scope
|
|||
= note: the following trait defines an item `foo`, perhaps you need to implement it:
|
||||
candidate #1: `Foo`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -10,5 +10,5 @@ error[E0599]: no method named `is_empty` found for type `Foo` in the current sco
|
|||
candidate #2: `core::slice::SliceExt`
|
||||
candidate #3: `core::str::StrExt`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -226,5 +226,5 @@ error[E0599]: no method named `method3` found for type `std::rc::Rc<&mut std::bo
|
|||
131 | std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Bar::X)).method3();
|
||||
| ^^^^^^^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 24 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -31,5 +31,5 @@ error[E0046]: not all trait items implemented, missing: `fmt`
|
|||
|
|
||||
= note: `fmt` from trait: `fn(&Self, &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error>`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -10,5 +10,5 @@ error[E0277]: the trait bound `std::cell::UnsafeCell<i32>: std::panic::RefUnwind
|
|||
= note: required because it appears within the type `[closure@$DIR/interior-mutability.rs:15:18: 15:35 x:&std::cell::Cell<i32>]`
|
||||
= note: required by `std::panic::catch_unwind`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -10,5 +10,5 @@ note: maybe move this module `$DIR/auxiliary/foo/bar.rs` to its own directory vi
|
|||
11 | pub mod baz;
|
||||
| ^^^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -20,5 +20,5 @@ error: `<` is interpreted as a start of generic arguments for `usize`, not a com
|
|||
help: if you want to compare the casted value then write:
|
||||
| println!("{}", (a as usize) < 4);
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
|
|||
|
|
@ -5,5 +5,5 @@ note: ...which then requires computing layout of `std::option::Option<<S as Mirr
|
|||
note: ...which then requires computing layout of `<S as Mirror>::It`...
|
||||
= note: ...which then again requires computing layout of `S`, completing the cycle.
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
15
src/test/ui/issue-33525.rs
Normal file
15
src/test/ui/issue-33525.rs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
fn main() {
|
||||
a;
|
||||
"".lorem;
|
||||
"".ipsum;
|
||||
}
|
||||
20
src/test/ui/issue-33525.stderr
Normal file
20
src/test/ui/issue-33525.stderr
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
error[E0425]: cannot find value `a` in this scope
|
||||
--> $DIR/issue-33525.rs:12:5
|
||||
|
|
||||
12 | a;
|
||||
| ^ not found in this scope
|
||||
|
||||
error[E0609]: no field `lorem` on type `&'static str`
|
||||
--> $DIR/issue-33525.rs:13:8
|
||||
|
|
||||
13 | "".lorem;
|
||||
| ^^^^^
|
||||
|
||||
error[E0609]: no field `ipsum` on type `&'static str`
|
||||
--> $DIR/issue-33525.rs:14:8
|
||||
|
|
||||
14 | "".ipsum;
|
||||
| ^^^^^
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
|
@ -8,5 +8,5 @@ error: reached the type-length limit while instantiating `<T as Foo><(&(&(&(&(&(
|
|||
|
|
||||
= note: consider adding a `#![type_length_limit="2097152"]` attribute to your crate
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -10,5 +10,5 @@ note: for repeat count here
|
|||
16 | let test_x = [0; issue_38875_b::FOO];
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0507]: cannot move out of indexed content
|
|||
| help: consider using a reference instead `&f.v[0]`
|
||||
| cannot move out of indexed content
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0507]: cannot move out of indexed content
|
|||
| | ...and here (use `ref b` or `ref mut b`)
|
||||
| hint: to prevent move, use `ref a` or `ref mut a`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -13,5 +13,5 @@ note: candidate #1 is defined in the trait `issue_41652_b::Tr`
|
|||
| |__________________________^
|
||||
= help: to disambiguate the method call, write `issue_41652_b::Tr::f(3)` instead
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ error[E0621]: explicit lifetime required in the type of `x`
|
|||
12 | if x > y { x } else { y }
|
||||
| ^ lifetime `'a` required
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ error[E0621]: explicit lifetime required in parameter type
|
|||
12 | if x > y { x } else { y }
|
||||
| ^ lifetime `'a` required
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ error[E0621]: explicit lifetime required in the type of `x`
|
|||
14 | if x > y { x } else { y }
|
||||
| ^ lifetime `'a` required
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ error[E0621]: explicit lifetime required in the type of `x`
|
|||
18 | if true { &self.field } else { x }
|
||||
| ^ lifetime `'a` required
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -23,5 +23,5 @@ note: ...but the borrowed content is only valid for the anonymous lifetime #1 de
|
|||
23 | | }
|
||||
| |_____^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ error[E0621]: explicit lifetime required in the type of `y`
|
|||
12 | if x > y { x } else { y }
|
||||
| ^ lifetime `'a` required
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -23,5 +23,5 @@ note: ...but the borrowed content is only valid for the lifetime 'a as defined o
|
|||
20 | | }
|
||||
| |___^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -23,5 +23,5 @@ note: ...but the borrowed content is only valid for the anonymous lifetime #1 de
|
|||
20 | | }
|
||||
| |_____^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ error[E0106]: missing lifetime specifier
|
|||
|
|
||||
= help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `x` or `y`
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ error[E0621]: explicit lifetime required in the type of `x`
|
|||
16 | y.push(x);
|
||||
| ^ lifetime `'a` required
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ error[E0621]: explicit lifetime required in the type of `y`
|
|||
16 | x.push(y);
|
||||
| ^ lifetime `'a` required
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -21,5 +21,5 @@ note: ...does not necessarily outlive the anonymous lifetime #2 defined on the f
|
|||
17 | | }
|
||||
| |_^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -31,5 +31,5 @@ note: ...so that expression is assignable (expected Ref<'b, _>, found Ref<'_, _>
|
|||
17 | x.push(z);
|
||||
| ^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -33,5 +33,5 @@ note: ...so that expression is assignable (expected &mut std::vec::Vec<Ref<'_, i
|
|||
16 | let a: &mut Vec<Ref<i32>> = x;
|
||||
| ^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -33,5 +33,5 @@ note: ...so that expression is assignable (expected &mut std::vec::Vec<Ref<'_, i
|
|||
16 | let a: &mut Vec<Ref<i32>> = x;
|
||||
| ^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue