Skip to content

Commit

Permalink
Add test for issue 30472
Browse files Browse the repository at this point in the history
  • Loading branch information
clubby789 committed Oct 7, 2024
1 parent b27c22d commit fa4f18b
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions tests/ui/traits/assoc-type-hrtb-normalization-30472.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
//@ check-pass
//! Tests that associated type projections normalize properly in the presence of HRTBs.
//! Original issue: <https://github.com/rust-lang/rust/issues/30472>

pub trait MyFrom<T> {}
impl<T> MyFrom<T> for T {}

pub trait MyInto<T> {}
impl<T, U> MyInto<U> for T where U: MyFrom<T> {}


pub trait A<'self_> {
type T;
}
pub trait B: for<'self_> A<'self_> {
// Originally caused the `type U = usize` example below to fail with a type mismatch error
type U: for<'self_> MyFrom<<Self as A<'self_>>::T>;
}


pub struct M;
impl<'self_> A<'self_> for M {
type T = usize;
}

impl B for M {
type U = usize;
}


fn main() {}

0 comments on commit fa4f18b

Please sign in to comment.