mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-24 15:54:15 +00:00
Add regression test for issue #55846
This commit is contained in:
parent
b755501043
commit
90b8131abc
39
src/test/ui/issue-55846.rs
Normal file
39
src/test/ui/issue-55846.rs
Normal file
@ -0,0 +1,39 @@
|
||||
// run-pass
|
||||
|
||||
// Regression test for #55846, which once caused an ICE.
|
||||
|
||||
use std::marker::PhantomData;
|
||||
|
||||
struct Foo;
|
||||
|
||||
struct Bar<A> {
|
||||
a: PhantomData<A>,
|
||||
}
|
||||
|
||||
impl Fooifier for Foo {
|
||||
type Assoc = Foo;
|
||||
}
|
||||
|
||||
trait Fooifier {
|
||||
type Assoc;
|
||||
}
|
||||
|
||||
trait Barifier<H> {
|
||||
fn barify();
|
||||
}
|
||||
|
||||
impl<H> Barifier<H> for Bar<H> {
|
||||
fn barify() {
|
||||
println!("All correct!");
|
||||
}
|
||||
}
|
||||
|
||||
impl Bar<<Foo as Fooifier>::Assoc> {
|
||||
fn this_shouldnt_crash() {
|
||||
<Self as Barifier<<Foo as Fooifier>::Assoc>>::barify();
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
Bar::<Foo>::this_shouldnt_crash();
|
||||
}
|
Loading…
Reference in New Issue
Block a user