2015-04-18 00:12:20 -05:00
|
|
|
pub trait ToPrimitive {
|
|
|
|
fn to_int(&self) -> isize { 0 }
|
|
|
|
}
|
|
|
|
|
|
|
|
impl ToPrimitive for i32 {}
|
|
|
|
impl ToPrimitive for isize {}
|
2014-12-22 11:04:23 -06:00
|
|
|
|
2012-12-06 20:32:13 -06:00
|
|
|
trait Add {
|
2015-01-08 04:54:35 -06:00
|
|
|
fn to_int(&self) -> isize;
|
2019-05-28 13:46:13 -05:00
|
|
|
fn add_dynamic(&self, other: &dyn Add) -> isize;
|
2012-12-06 20:32:13 -06:00
|
|
|
}
|
|
|
|
|
2015-01-08 04:54:35 -06:00
|
|
|
impl Add for isize {
|
|
|
|
fn to_int(&self) -> isize { *self }
|
2019-05-28 13:46:13 -05:00
|
|
|
fn add_dynamic(&self, other: &dyn Add) -> isize {
|
2015-05-03 00:30:59 -05:00
|
|
|
self.to_int() + other.to_int() //~ ERROR multiple applicable items in scope
|
2012-12-06 20:32:13 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() { }
|