Skip to content

Commit

Permalink
add regression test for issue #78632
Browse files Browse the repository at this point in the history
  • Loading branch information
yerke committed Jun 16, 2021
1 parent 0a8629b commit 782824c
Showing 1 changed file with 59 additions and 0 deletions.
59 changes: 59 additions & 0 deletions src/test/ui/traits/issue-78632.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
// check-pass
//
// Regression test for issue #78632

#![crate_type = "lib"]

pub trait Corge<T> {
type Fred;
}

impl Corge<u8> for () {
type Fred = u32;
}

pub trait Waldo {
type Quax;
}

impl Waldo for u32 {
type Quax = u8;
}

pub trait Grault
where
(): Corge<Self::Thud>,
{
type Thud;
fn bar(_: <() as Corge<Self::Thud>>::Fred) {}
}

impl<T> Grault for T
where
T: Waldo,
(): Corge<T::Quax>,
<() as Corge<T::Quax>>::Fred: Waldo,
{
type Thud = u8;
}

pub trait Plugh<I> {
fn baz();
}

#[derive(Copy, Clone, Debug)]
pub struct Qiz<T> {
foo: T,
}

impl<T> Plugh<<() as Corge<T::Thud>>::Fred> for Qiz<T>
where
T: Grault,
(): Corge<T::Thud>,
{
fn baz() {}
}

pub fn test() {
<Qiz<u32> as Plugh<u32>>::baz();
}

0 comments on commit 782824c

Please sign in to comment.