//@ run-pass | |
// Test unboxed closure sugar used in object types. | |
#![allow(dead_code)] | |
struct Foo<T,U> { | |
t: T, u: U | |
} | |
trait Getter<A,R> { | |
fn get(&self, arg: A) -> R; | |
} | |
struct Identity; | |
impl<X> Getter<X,X> for Identity { | |
fn get(&self, arg: X) -> X { | |
arg | |
} | |
} | |
fn main() { | |
let x: &dyn Getter<(i32,), (i32,)> = &Identity; | |
let (y,) = x.get((22,)); | |
assert_eq!(y, 22); | |
} |