diff options
Diffstat (limited to 'tests/ui/traits/resolution-in-overloaded-op.rs')
-rw-r--r-- | tests/ui/traits/resolution-in-overloaded-op.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/ui/traits/resolution-in-overloaded-op.rs b/tests/ui/traits/resolution-in-overloaded-op.rs new file mode 100644 index 000000000..a9bacc357 --- /dev/null +++ b/tests/ui/traits/resolution-in-overloaded-op.rs @@ -0,0 +1,11 @@ +// #12402 Operator overloading only considers the method name, not which trait is implemented + +trait MyMul<Rhs, Res> { + fn mul(&self, rhs: &Rhs) -> Res; +} + +fn foo<T: MyMul<f64, f64>>(a: &T, b: f64) -> f64 { + a * b //~ ERROR cannot multiply `&T` by `f64` +} + +fn main() {} |