blob: fb88ee6e8ff71866f11e95fd3bdeb779ee71cec6 [file]
trait clam<A: Copy> {
fn chowder(y: A);
}
struct foo<A: Copy> {
x: A,
}
impl<A: Copy> foo<A> : clam<A> {
fn chowder(y: A) {
}
}
fn foo<A: Copy>(b: A) -> foo<A> {
foo {
x: b
}
}
fn f<A: Copy>(x: clam<A>, a: A) {
x.chowder(a);
}
fn main() {
let c = foo(42);
let d: clam<int> = c as clam::<int>;
f(d, c.x);
}