summaryrefslogtreecommitdiffstats
path: root/tests/ui/issues/issue-19380.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/issues/issue-19380.stderr')
-rw-r--r--tests/ui/issues/issue-19380.stderr27
1 files changed, 26 insertions, 1 deletions
diff --git a/tests/ui/issues/issue-19380.stderr b/tests/ui/issues/issue-19380.stderr
index b2aeb5edf..f6244d9d4 100644
--- a/tests/ui/issues/issue-19380.stderr
+++ b/tests/ui/issues/issue-19380.stderr
@@ -11,6 +11,7 @@ LL | trait Qiz {
| --- this trait cannot be made into an object...
LL | fn qiz();
| ^^^ ...because associated function `qiz` has no `self` parameter
+ = help: only type `Foo` implements the trait, consider using it directly instead
help: consider turning `qiz` into a method by giving it a `&self` argument
|
LL | fn qiz(&self);
@@ -20,6 +21,30 @@ help: alternatively, consider constraining `qiz` so it does not apply to trait o
LL | fn qiz() where Self: Sized;
| +++++++++++++++++
-error: aborting due to previous error
+error[E0038]: the trait `Qiz` cannot be made into an object
+ --> $DIR/issue-19380.rs:16:33
+ |
+LL | const BAR : Bar = Bar { foos: &[&FOO]};
+ | ^^^^ `Qiz` cannot be made into an object
+ |
+note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
+ --> $DIR/issue-19380.rs:2:6
+ |
+LL | trait Qiz {
+ | --- this trait cannot be made into an object...
+LL | fn qiz();
+ | ^^^ ...because associated function `qiz` has no `self` parameter
+ = help: only type `Foo` implements the trait, consider using it directly instead
+ = note: required for the cast from `&Foo` to `&'static (dyn Qiz + 'static)`
+help: consider turning `qiz` into a method by giving it a `&self` argument
+ |
+LL | fn qiz(&self);
+ | +++++
+help: alternatively, consider constraining `qiz` so it does not apply to trait objects
+ |
+LL | fn qiz() where Self: Sized;
+ | +++++++++++++++++
+
+error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0038`.