mirror of https://github.com/rust-lang/rust
22 lines
361 B
Rust
22 lines
361 B
Rust
//@ run-pass
|
|
fn g<X>(x: X) -> X { return x; }
|
|
|
|
#[derive(Clone)]
|
|
struct Pair<T> {
|
|
a: T,
|
|
b: T
|
|
}
|
|
|
|
fn f<T:Clone>(t: T) -> Pair<T> {
|
|
let x: Pair<T> = Pair {a: t.clone(), b: t};
|
|
return g::<Pair<T>>(x);
|
|
}
|
|
|
|
pub fn main() {
|
|
let b = f::<isize>(10);
|
|
println!("{}" ,b.a);
|
|
println!("{}", b.b);
|
|
assert_eq!(b.a, 10);
|
|
assert_eq!(b.b, 10);
|
|
}
|