Skip to content

Commit e16d023

Browse files
Rollup merge of #87281 - rust-lang:issue-81487, r=nikomatsakis
Normalize generic_ty before checking if bound is met Fixes #81487 r? `@nikomatsakis`
2 parents aa3d64e + 3d46494 commit e16d023

File tree

2 files changed

+20
-0
lines changed
  • compiler/rustc_infer/src/infer/lexical_region_resolve
  • src/test/ui/generic-associated-types

2 files changed

+20
-0
lines changed

compiler/rustc_infer/src/infer/lexical_region_resolve/mod.rs

+1
Original file line numberDiff line numberDiff line change
@@ -638,6 +638,7 @@ impl<'cx, 'tcx> LexicalResolver<'cx, 'tcx> {
638638
let sub = var_data.normalize(self.tcx(), verify.region);
639639

640640
let verify_kind_ty = verify.kind.to_ty(self.tcx());
641+
let verify_kind_ty = var_data.normalize(self.tcx(), verify_kind_ty);
641642
if self.bound_is_met(&verify.bound, var_data, verify_kind_ty, sub) {
642643
continue;
643644
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// build-pass
2+
3+
#![feature(generic_associated_types)]
4+
5+
trait Trait {
6+
type Ref<'a>;
7+
}
8+
9+
impl Trait for () {
10+
type Ref<'a> = &'a i8;
11+
}
12+
13+
struct RefRef<'a, T: Trait>(&'a <T as Trait>::Ref<'a>);
14+
15+
fn wrap<'a, T: Trait>(reff: &'a <T as Trait>::Ref<'a>) -> RefRef<'a, T> {
16+
RefRef(reff)
17+
}
18+
19+
fn main() {}

0 commit comments

Comments
 (0)