summaryrefslogtreecommitdiffstats
path: root/tests/ui/ufcs/ufcs-qpath-self-mismatch.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/ufcs/ufcs-qpath-self-mismatch.stderr')
-rw-r--r--tests/ui/ufcs/ufcs-qpath-self-mismatch.stderr76
1 files changed, 76 insertions, 0 deletions
diff --git a/tests/ui/ufcs/ufcs-qpath-self-mismatch.stderr b/tests/ui/ufcs/ufcs-qpath-self-mismatch.stderr
new file mode 100644
index 000000000..e85144a31
--- /dev/null
+++ b/tests/ui/ufcs/ufcs-qpath-self-mismatch.stderr
@@ -0,0 +1,76 @@
+error[E0277]: cannot add `u32` to `i32`
+ --> $DIR/ufcs-qpath-self-mismatch.rs:4:31
+ |
+LL | <i32 as Add<u32>>::add(1, 2);
+ | ---------------------- ^ no implementation for `i32 + u32`
+ | |
+ | required by a bound introduced by this call
+ |
+ = help: the trait `Add<u32>` is not implemented for `i32`
+ = help: the following other types implement trait `Add<Rhs>`:
+ <&'a i32 as Add<i32>>
+ <&i32 as Add<&i32>>
+ <i32 as Add<&i32>>
+ <i32 as Add>
+
+error[E0308]: mismatched types
+ --> $DIR/ufcs-qpath-self-mismatch.rs:7:28
+ |
+LL | <i32 as Add<i32>>::add(1u32, 2);
+ | ---------------------- ^^^^ expected `i32`, found `u32`
+ | |
+ | arguments to this function are incorrect
+ |
+help: the return type of this call is `u32` due to the type of the argument passed
+ --> $DIR/ufcs-qpath-self-mismatch.rs:7:5
+ |
+LL | <i32 as Add<i32>>::add(1u32, 2);
+ | ^^^^^^^^^^^^^^^^^^^^^^^----^^^^
+ | |
+ | this argument influences the return type of `Add`
+note: associated function defined here
+ --> $SRC_DIR/core/src/ops/arith.rs:LL:COL
+help: change the type of the numeric literal from `u32` to `i32`
+ |
+LL | <i32 as Add<i32>>::add(1i32, 2);
+ | ~~~
+
+error[E0308]: mismatched types
+ --> $DIR/ufcs-qpath-self-mismatch.rs:9:31
+ |
+LL | <i32 as Add<i32>>::add(1, 2u32);
+ | ---------------------- ^^^^ expected `i32`, found `u32`
+ | |
+ | arguments to this function are incorrect
+ |
+help: the return type of this call is `u32` due to the type of the argument passed
+ --> $DIR/ufcs-qpath-self-mismatch.rs:9:5
+ |
+LL | <i32 as Add<i32>>::add(1, 2u32);
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^----^
+ | |
+ | this argument influences the return type of `Add`
+note: associated function defined here
+ --> $SRC_DIR/core/src/ops/arith.rs:LL:COL
+help: change the type of the numeric literal from `u32` to `i32`
+ |
+LL | <i32 as Add<i32>>::add(1, 2i32);
+ | ~~~
+
+error[E0277]: cannot add `u32` to `i32`
+ --> $DIR/ufcs-qpath-self-mismatch.rs:4:5
+ |
+LL | <i32 as Add<u32>>::add(1, 2);
+ | ^^^^^^^^^^^^^^^^^^^^^^ no implementation for `i32 + u32`
+ |
+ = help: the trait `Add<u32>` is not implemented for `i32`
+ = help: the following other types implement trait `Add<Rhs>`:
+ <&'a i32 as Add<i32>>
+ <&i32 as Add<&i32>>
+ <i32 as Add<&i32>>
+ <i32 as Add>
+
+error: aborting due to 4 previous errors
+
+Some errors have detailed explanations: E0277, E0308.
+For more information about an error, try `rustc --explain E0277`.