]> git.lizzy.rs Git - rust.git/blob - src/test/ui/rfc-2632-const-trait-impl/const-and-non-const-impl.stderr
Ensure const impl cannot coexist with non-const impl
[rust.git] / src / test / ui / rfc-2632-const-trait-impl / const-and-non-const-impl.stderr
1 error[E0119]: conflicting implementations of trait `std::ops::Add` for type `i32`:
2   --> $DIR/const-and-non-const-impl.rs:6:1
3    |
4 LL | impl const std::ops::Add for i32 {
5    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6    |
7    = note: conflicting implementation in crate `core`:
8            - impl std::ops::Add for i32;
9
10 error[E0119]: conflicting implementations of trait `std::ops::Add` for type `Int`:
11   --> $DIR/const-and-non-const-impl.rs:24:1
12    |
13 LL | impl std::ops::Add for Int {
14    | -------------------------- first implementation here
15 ...
16 LL | impl const std::ops::Add for Int {
17    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Int`
18
19 error[E0117]: only traits defined in the current crate can be implemented for arbitrary types
20   --> $DIR/const-and-non-const-impl.rs:6:1
21    |
22 LL | impl const std::ops::Add for i32 {
23    | ^^^^^^^^^^^-------------^^^^^---
24    | |          |                 |
25    | |          |                 `i32` is not defined in the current crate
26    | |          `i32` is not defined in the current crate
27    | impl doesn't use only types from inside the current crate
28    |
29    = note: define and implement a trait or new type instead
30
31 error: aborting due to 3 previous errors
32
33 Some errors have detailed explanations: E0117, E0119.
34 For more information about an error, try `rustc --explain E0117`.