mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-26 00:34:06 +00:00
41 lines
605 B
Rust
41 lines
605 B
Rust
|
// If it is impossible to find query arguments just from the hash
|
||
|
// compiler should treat the node as red
|
||
|
|
||
|
// In this test prior to fixing compiler was having problems figuring out
|
||
|
// drop impl for T inside of m
|
||
|
|
||
|
//@ revisions:cfail1 cfail2
|
||
|
//@ compile-flags: --crate-type=lib
|
||
|
//@ build-pass
|
||
|
|
||
|
pub trait P {
|
||
|
type A;
|
||
|
}
|
||
|
|
||
|
struct S;
|
||
|
|
||
|
impl P for S {
|
||
|
type A = C;
|
||
|
}
|
||
|
|
||
|
struct T<D: P>(D::A, Z<D>);
|
||
|
|
||
|
struct Z<D: P>(D::A, String);
|
||
|
|
||
|
impl<D: P> T<D> {
|
||
|
pub fn i() -> Self {
|
||
|
loop {}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
enum C {
|
||
|
#[cfg(cfail1)]
|
||
|
Up(()),
|
||
|
#[cfg(cfail2)]
|
||
|
Lorry(()),
|
||
|
}
|
||
|
|
||
|
pub fn m() {
|
||
|
T::<S>::i();
|
||
|
}
|