2024-02-16 20:02:50 +00:00
|
|
|
//@ run-pass
|
2018-09-25 23:51:35 +02:00
|
|
|
#![allow(unused_variables)]
|
2012-12-17 14:57:37 -08:00
|
|
|
|
2015-03-22 13:13:15 -07:00
|
|
|
|
2012-12-02 18:29:22 -08:00
|
|
|
trait A<T> {
|
2015-03-25 17:06:52 -07:00
|
|
|
fn g(&self, x: usize) -> usize { x }
|
2024-02-07 10:42:01 +08:00
|
|
|
fn h(&self, x: T) { } //~ WARN method `h` is never used
|
2012-12-02 18:29:22 -08:00
|
|
|
}
|
|
|
|
|
|
2015-03-25 17:06:52 -07:00
|
|
|
impl<T> A<T> for isize { }
|
2012-12-02 18:29:22 -08:00
|
|
|
|
2015-03-25 17:06:52 -07:00
|
|
|
fn f<T, V: A<T>>(i: V, j: usize) -> usize {
|
2013-02-15 02:44:18 -08:00
|
|
|
i.g(j)
|
2012-12-02 18:29:22 -08:00
|
|
|
}
|
|
|
|
|
|
2013-02-17 14:36:43 -08:00
|
|
|
pub fn main () {
|
2015-03-25 17:06:52 -07:00
|
|
|
assert_eq!(f::<f64, isize>(0, 2), 2);
|
|
|
|
|
assert_eq!(f::<usize, isize>(0, 2), 2);
|
2012-12-02 18:29:22 -08:00
|
|
|
}
|