Skip to content

Commit

Permalink
Fix duplicate error
Browse files Browse the repository at this point in the history
  • Loading branch information
jackh726 committed Sep 7, 2021
1 parent af9de99 commit 890de33
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ impl<'a, 'tcx> NiceRegionError<'a, 'tcx> {
} = origin
{
self.emit_associated_type_err(span, item_name, impl_item_def_id, trait_item_def_id);
return Some(ErrorReported);
}
}
None
Expand Down
1 change: 0 additions & 1 deletion src/test/ui/generic-associated-types/impl_bounds.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ impl<T> Foo for Fooy<T> {
//~^ ERROR the parameter type `T` may not live long enough
type B<'a, 'b> where 'b: 'a = (&'a(), &'b ());
//~^ ERROR `impl` associated type
//~| ERROR impl has stricter
//~| ERROR lifetime bound not satisfied
type C where Self: Copy = String;
//~^ ERROR the trait bound `T: Copy` is not satisfied
Expand Down
19 changes: 5 additions & 14 deletions src/test/ui/generic-associated-types/impl_bounds.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,6 @@ LL | type B<'a, 'b> where 'a: 'b;
LL | type B<'a, 'b> where 'b: 'a = (&'a(), &'b ());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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
--> $DIR/impl_bounds.rs:17:5
|
Expand All @@ -43,7 +34,7 @@ LL | type B<'a, 'b> where 'b: 'a = (&'a(), &'b ());
| ^^

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;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `T`
Expand All @@ -68,7 +59,7 @@ LL | impl<T: std::marker::Copy> Foo for Fooy<T> {
| +++++++++++++++++++

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 {}
| ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `T`
Expand All @@ -92,7 +83,7 @@ help: consider restricting type parameter `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.
For more information about an error, try `rustc --explain E0276`.
Some errors have detailed explanations: E0277, E0310, E0478.
For more information about an error, try `rustc --explain E0277`.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ trait Foo {
impl Foo for () {
type Assoc<'a, 'b> where 'a: 'b = ();
//~^ `impl` associated type
//~| impl has stricter
}

fn main() {}
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,5 @@ LL | type Assoc<'a, 'b>;
LL | type Assoc<'a, 'b> where 'a: 'b = ();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found

error[E0276]: impl has stricter requirements than trait
--> $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
error: aborting due to previous error

For more information about this error, try `rustc --explain E0276`.

0 comments on commit 890de33

Please sign in to comment.