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