2012-09-05 17:36:11 -05:00
|
|
|
// Tests that ty params get matched correctly when comparing
|
|
|
|
// an impl against a trait
|
|
|
|
import iter;
|
|
|
|
import iter::BaseIter;
|
|
|
|
|
|
|
|
trait A {
|
|
|
|
fn b<C:copy, D>(x: C) -> C;
|
|
|
|
}
|
|
|
|
|
|
|
|
struct E {
|
2012-09-07 16:50:47 -05:00
|
|
|
f: int
|
2012-09-05 17:36:11 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
impl E: A {
|
|
|
|
// n.b. The error message is awful -- see #3404
|
|
|
|
fn b<F:copy, G>(_x: G) -> G { fail } //~ ERROR method `b` has an incompatible type
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|