2015-05-12 21:44:05 +03:00
|
|
|
use std::ops::Add;
|
|
|
|
|
|
|
|
|
|
trait Scalar {}
|
|
|
|
|
impl Scalar for f64 {}
|
|
|
|
|
|
|
|
|
|
struct Bob;
|
|
|
|
|
|
|
|
|
|
impl<RHS: Scalar> Add <RHS> for Bob {
|
|
|
|
|
type Output = Bob;
|
2016-10-26 02:28:20 +03:00
|
|
|
fn add(self, rhs : RHS) -> Bob { Bob }
|
2015-05-12 21:44:05 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
|
let b = Bob + 3.5;
|
2016-03-29 20:12:31 +03:00
|
|
|
b + 3 //~ ERROR E0277
|
2015-09-24 19:58:00 +03:00
|
|
|
//~^ ERROR: mismatched types
|
2015-05-12 21:44:05 +03:00
|
|
|
}
|