about summary refs log tree commit diff
path: root/tests/ui/rfcs/rfc-2632-const-trait-impl/call-generic-method-pass.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/rfcs/rfc-2632-const-trait-impl/call-generic-method-pass.stderr')
-rw-r--r--tests/ui/rfcs/rfc-2632-const-trait-impl/call-generic-method-pass.stderr56
1 files changed, 56 insertions, 0 deletions
diff --git a/tests/ui/rfcs/rfc-2632-const-trait-impl/call-generic-method-pass.stderr b/tests/ui/rfcs/rfc-2632-const-trait-impl/call-generic-method-pass.stderr
new file mode 100644
index 00000000000..1bba23e2892
--- /dev/null
+++ b/tests/ui/rfcs/rfc-2632-const-trait-impl/call-generic-method-pass.stderr
@@ -0,0 +1,56 @@
+error: const `impl` for trait `PartialEq` which is not marked with `#[const_trait]`
+  --> $DIR/call-generic-method-pass.rs:10:12
+   |
+LL | impl const PartialEq for S {
+   |            ^^^^^^^^^
+   |
+   = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
+   = note: adding a non-const method body in the future would be a breaking change
+
+error[E0207]: the const parameter `host` is not constrained by the impl trait, self type, or predicates
+  --> $DIR/call-generic-method-pass.rs:10:6
+   |
+LL | impl const PartialEq for S {
+   |      ^^^^^ unconstrained const parameter
+   |
+   = note: expressions using a const parameter must map each value to a distinct output value
+   = note: proving the result of expressions other than the parameter are unique is not supported
+
+error: `~const` can only be applied to `#[const_trait]` traits
+  --> $DIR/call-generic-method-pass.rs:19:32
+   |
+LL | const fn equals_self<T: ~const PartialEq>(t: &T) -> bool {
+   |                                ^^^^^^^^^
+
+error[E0284]: type annotations needed
+  --> $DIR/call-generic-method-pass.rs:23:22
+   |
+LL | pub const EQ: bool = equals_self(&S);
+   |                      ^^^^^^^^^^^^^^^ cannot infer the value of the constant `_`
+   |
+note: required for `S` to implement `PartialEq`
+  --> $DIR/call-generic-method-pass.rs:10:12
+   |
+LL | impl const PartialEq for S {
+   |      ----- ^^^^^^^^^     ^
+   |      |
+   |      unsatisfied trait bound introduced here
+
+error[E0284]: type annotations needed
+  --> $DIR/call-generic-method-pass.rs:15:10
+   |
+LL |         !self.eq(other)
+   |          ^^^^^^^^^^^^^^ cannot infer the value of the constant `_`
+   |
+note: required for `S` to implement `PartialEq`
+  --> $DIR/call-generic-method-pass.rs:10:12
+   |
+LL | impl const PartialEq for S {
+   |      ----- ^^^^^^^^^     ^
+   |      |
+   |      unsatisfied trait bound introduced here
+
+error: aborting due to 5 previous errors
+
+Some errors have detailed explanations: E0207, E0284.
+For more information about an error, try `rustc --explain E0207`.