Skip to content

Commit

Permalink
Rollup merge of rust-lang#112322 - compiler-errors:no-IMPLIED_BOUNDS_…
Browse files Browse the repository at this point in the history
…ENTAILMENT-if-errs, r=eholk

Don't mention `IMPLIED_BOUNDS_ENTAILMENT` if signatures reference error

Fixes rust-lang#112321
  • Loading branch information
matthiaskrgr authored Jun 5, 2023
2 parents 44acf79 + 0e9e91a commit dcdd867
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 1 deletion.
2 changes: 1 addition & 1 deletion compiler/rustc_hir_analysis/src/check/compare_impl_item.rs
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ fn compare_method_predicate_entailment<'tcx>(
return Err(emitted);
}

if check_implied_wf == CheckImpliedWfMode::Check {
if check_implied_wf == CheckImpliedWfMode::Check && !(impl_sig, trait_sig).references_error() {
// We need to check that the impl's args are well-formed given
// the hybrid param-env (impl + trait method where-clauses).
ocx.register_obligation(traits::Obligation::new(
Expand Down
22 changes: 22 additions & 0 deletions tests/ui/implied-bounds/references-err.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
trait Identity {
type Identity;
}
impl<T> Identity for T {
type Identity = T;
}

trait Trait {
type Assoc: Identity;
fn tokenize(&self) -> <Self::Assoc as Identity>::Identity;
}

impl Trait for () {
type Assoc = DoesNotExist;
//~^ ERROR cannot find type `DoesNotExist` in this scope

fn tokenize(&self) -> <Self::Assoc as Identity>::Identity {
unimplemented!()
}
}

fn main() {}
9 changes: 9 additions & 0 deletions tests/ui/implied-bounds/references-err.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
error[E0412]: cannot find type `DoesNotExist` in this scope
--> $DIR/references-err.rs:14:18
|
LL | type Assoc = DoesNotExist;
| ^^^^^^^^^^^^ not found in this scope

error: aborting due to previous error

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

0 comments on commit dcdd867

Please sign in to comment.