blob: 2bcac315f5a96058613fd50ef96fcb5ec8e21402 [file] [log] [blame]
// compile-pass
#![feature(existential_type)]
use std::fmt::Debug;
fn main() {}
existential type Two<A, B>: Debug;
fn two<T: Debug + Copy, U>(t: T, u: U) -> Two<T, U> {
(t, t)
}
fn three<T: Debug, U>(t: T, t2: T, u: U) -> Two<T, U> {
(t, t2)
}
fn four<T: Debug, U, V>(t: T, t2: T, u: U, v: V) -> Two<T, U> {
(t, t2)
}
fn five<X, Y: Debug>(x: X, y: Y, y2: Y) -> Two<Y, X> {
(y, y2)
}