Fix duplicate error
This commit is contained in:
parent
af9de99f12
commit
890de33e4f
5 changed files with 7 additions and 27 deletions
|
@ -55,6 +55,7 @@ impl<'a, 'tcx> NiceRegionError<'a, 'tcx> {
|
||||||
} = origin
|
} = origin
|
||||||
{
|
{
|
||||||
self.emit_associated_type_err(span, item_name, impl_item_def_id, trait_item_def_id);
|
self.emit_associated_type_err(span, item_name, impl_item_def_id, trait_item_def_id);
|
||||||
|
return Some(ErrorReported);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
None
|
None
|
||||||
|
|
|
@ -16,7 +16,6 @@ impl<T> Foo for Fooy<T> {
|
||||||
//~^ ERROR the parameter type `T` may not live long enough
|
//~^ ERROR the parameter type `T` may not live long enough
|
||||||
type B<'a, 'b> where 'b: 'a = (&'a(), &'b ());
|
type B<'a, 'b> where 'b: 'a = (&'a(), &'b ());
|
||||||
//~^ ERROR `impl` associated type
|
//~^ ERROR `impl` associated type
|
||||||
//~| ERROR impl has stricter
|
|
||||||
//~| ERROR lifetime bound not satisfied
|
//~| ERROR lifetime bound not satisfied
|
||||||
type C where Self: Copy = String;
|
type C where Self: Copy = String;
|
||||||
//~^ ERROR the trait bound `T: Copy` is not satisfied
|
//~^ ERROR the trait bound `T: Copy` is not satisfied
|
||||||
|
|
|
@ -16,15 +16,6 @@ LL | type B<'a, 'b> where 'a: 'b;
|
||||||
LL | type B<'a, 'b> where 'b: 'a = (&'a(), &'b ());
|
LL | type B<'a, 'b> where 'b: 'a = (&'a(), &'b ());
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found
|
||||||
|
|
||||||
error[E0276]: impl has stricter requirements than trait
|
|
||||||
--> $DIR/impl_bounds.rs:17:5
|
|
||||||
|
|
|
||||||
LL | type B<'a, 'b> where 'a: 'b;
|
|
||||||
| ---------------------------- definition of `B` from trait
|
|
||||||
...
|
|
||||||
LL | type B<'a, 'b> where 'b: 'a = (&'a(), &'b ());
|
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl has extra requirement `'b: 'a`
|
|
||||||
|
|
||||||
error[E0478]: lifetime bound not satisfied
|
error[E0478]: lifetime bound not satisfied
|
||||||
--> $DIR/impl_bounds.rs:17:5
|
--> $DIR/impl_bounds.rs:17:5
|
||||||
|
|
|
|
||||||
|
@ -43,7 +34,7 @@ LL | type B<'a, 'b> where 'b: 'a = (&'a(), &'b ());
|
||||||
| ^^
|
| ^^
|
||||||
|
|
||||||
error[E0277]: the trait bound `T: Copy` is not satisfied
|
error[E0277]: the trait bound `T: Copy` is not satisfied
|
||||||
--> $DIR/impl_bounds.rs:21:5
|
--> $DIR/impl_bounds.rs:20:5
|
||||||
|
|
|
|
||||||
LL | type C where Self: Copy = String;
|
LL | type C where Self: Copy = String;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `T`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `T`
|
||||||
|
@ -68,7 +59,7 @@ LL | impl<T: std::marker::Copy> Foo for Fooy<T> {
|
||||||
| +++++++++++++++++++
|
| +++++++++++++++++++
|
||||||
|
|
||||||
error[E0277]: the trait bound `T: Copy` is not satisfied
|
error[E0277]: the trait bound `T: Copy` is not satisfied
|
||||||
--> $DIR/impl_bounds.rs:23:5
|
--> $DIR/impl_bounds.rs:22:5
|
||||||
|
|
|
|
||||||
LL | fn d() where Self: Copy {}
|
LL | fn d() where Self: Copy {}
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `T`
|
| ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `T`
|
||||||
|
@ -92,7 +83,7 @@ help: consider restricting type parameter `T`
|
||||||
LL | impl<T: std::marker::Copy> Foo for Fooy<T> {
|
LL | impl<T: std::marker::Copy> Foo for Fooy<T> {
|
||||||
| +++++++++++++++++++
|
| +++++++++++++++++++
|
||||||
|
|
||||||
error: aborting due to 6 previous errors
|
error: aborting due to 5 previous errors
|
||||||
|
|
||||||
Some errors have detailed explanations: E0276, E0277, E0310, E0478.
|
Some errors have detailed explanations: E0277, E0310, E0478.
|
||||||
For more information about an error, try `rustc --explain E0276`.
|
For more information about an error, try `rustc --explain E0277`.
|
||||||
|
|
|
@ -8,7 +8,6 @@ trait Foo {
|
||||||
impl Foo for () {
|
impl Foo for () {
|
||||||
type Assoc<'a, 'b> where 'a: 'b = ();
|
type Assoc<'a, 'b> where 'a: 'b = ();
|
||||||
//~^ `impl` associated type
|
//~^ `impl` associated type
|
||||||
//~| impl has stricter
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -7,15 +7,5 @@ LL | type Assoc<'a, 'b>;
|
||||||
LL | type Assoc<'a, 'b> where 'a: 'b = ();
|
LL | type Assoc<'a, 'b> where 'a: 'b = ();
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found
|
||||||
|
|
||||||
error[E0276]: impl has stricter requirements than trait
|
error: aborting due to previous error
|
||||||
--> $DIR/missing-where-clause-on-trait.rs:9:5
|
|
||||||
|
|
|
||||||
LL | type Assoc<'a, 'b>;
|
|
||||||
| ------------------- definition of `Assoc` from trait
|
|
||||||
...
|
|
||||||
LL | type Assoc<'a, 'b> where 'a: 'b = ();
|
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl has extra requirement `'a: 'b`
|
|
||||||
|
|
||||||
error: aborting due to 2 previous errors
|
|
||||||
|
|
||||||
For more information about this error, try `rustc --explain E0276`.
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue