diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
commit | 64d98f8ee037282c35007b64c2649055c56af1db (patch) | |
tree | 5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /tests/ui/traits/item-privacy.stderr | |
parent | Adding debian version 1.67.1+dfsg1-1. (diff) | |
download | rustc-64d98f8ee037282c35007b64c2649055c56af1db.tar.xz rustc-64d98f8ee037282c35007b64c2649055c56af1db.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/ui/traits/item-privacy.stderr')
-rw-r--r-- | tests/ui/traits/item-privacy.stderr | 188 |
1 files changed, 188 insertions, 0 deletions
diff --git a/tests/ui/traits/item-privacy.stderr b/tests/ui/traits/item-privacy.stderr new file mode 100644 index 000000000..293cfbda8 --- /dev/null +++ b/tests/ui/traits/item-privacy.stderr @@ -0,0 +1,188 @@ +error[E0599]: no method named `a` found for struct `S` in the current scope + --> $DIR/item-privacy.rs:67:7 + | +LL | struct S; + | -------- method `a` not found for this struct +... +LL | S.a(); + | ^ method not found in `S` + | + = help: items from traits can only be used if the trait is implemented and in scope +note: `method::A` defines an item `a`, perhaps you need to implement it + --> $DIR/item-privacy.rs:6:5 + | +LL | trait A { + | ^^^^^^^ + +error[E0599]: no method named `b` found for struct `S` in the current scope + --> $DIR/item-privacy.rs:68:7 + | +LL | struct S; + | -------- method `b` not found for this struct +... +LL | fn b(&self) { } + | - the method is available for `S` here +... +LL | S.b(); + | ^ method not found in `S` + | + = help: items from traits can only be used if the trait is in scope +help: the following trait is implemented but not in scope; perhaps add a `use` for it: + | +LL | use method::B; + | + +error[E0624]: associated function `a` is private + --> $DIR/item-privacy.rs:72:7 + | +LL | fn a(&self) { } + | ----------- private associated function defined here +... +LL | c.a(); + | ^ private associated function + +error[E0599]: no function or associated item named `a` found for struct `S` in the current scope + --> $DIR/item-privacy.rs:78:8 + | +LL | struct S; + | -------- function or associated item `a` not found for this struct +... +LL | S::a(&S); + | ^ function or associated item not found in `S` + | + = help: items from traits can only be used if the trait is implemented and in scope +note: `method::A` defines an item `a`, perhaps you need to implement it + --> $DIR/item-privacy.rs:6:5 + | +LL | trait A { + | ^^^^^^^ + +error[E0599]: no function or associated item named `b` found for struct `S` in the current scope + --> $DIR/item-privacy.rs:80:8 + | +LL | struct S; + | -------- function or associated item `b` not found for this struct +... +LL | S::b(&S); + | ^ function or associated item not found in `S` + | + = help: items from traits can only be used if the trait is in scope +help: the following trait is implemented but not in scope; perhaps add a `use` for it: + | +LL | use method::B; + | + +error[E0624]: associated function `a` is private + --> $DIR/item-privacy.rs:84:14 + | +LL | fn a(&self) { } + | ----------- private associated function defined here +... +LL | <dyn C>::a(&S); + | ^ private associated function + +error[E0599]: no associated item named `A` found for struct `S` in the current scope + --> $DIR/item-privacy.rs:97:8 + | +LL | struct S; + | -------- associated item `A` not found for this struct +... +LL | S::A; + | ^ associated item not found in `S` + | + = help: items from traits can only be used if the trait is implemented and in scope +note: `assoc_const::A` defines an item `A`, perhaps you need to implement it + --> $DIR/item-privacy.rs:24:5 + | +LL | trait A { + | ^^^^^^^ + +error[E0599]: no associated item named `B` found for struct `S` in the current scope + --> $DIR/item-privacy.rs:98:8 + | +LL | struct S; + | -------- associated item `B` not found for this struct +... +LL | S::B; + | ^ associated item not found in `S` + | + = help: items from traits can only be used if the trait is in scope +help: the following trait is implemented but not in scope; perhaps add a `use` for it: + | +LL | use assoc_const::B; + | + +error[E0624]: associated constant `A` is private + --> $DIR/item-privacy.rs:101:14 + | +LL | const A: u8 = 0; + | ----------- private associated constant defined here +... +LL | <dyn C>::A; + | ^ private associated constant + +error[E0038]: the trait `assoc_const::C` cannot be made into an object + --> $DIR/item-privacy.rs:101:6 + | +LL | <dyn C>::A; + | ^^^^^ `assoc_const::C` 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/item-privacy.rs:25:15 + | +LL | const A: u8 = 0; + | ^ ...because it contains this associated `const` +... +LL | const B: u8 = 0; + | ^ ...because it contains this associated `const` +... +LL | pub trait C: A + B { + | - this trait cannot be made into an object... +LL | const C: u8 = 0; + | ^ ...because it contains this associated `const` + = help: consider moving `C` to another trait + = help: consider moving `A` to another trait + = help: consider moving `B` to another trait + +error[E0223]: ambiguous associated type + --> $DIR/item-privacy.rs:115:12 + | +LL | let _: S::A; + | ^^^^ + | +help: if there were a trait named `Example` with associated type `A` implemented for `S`, you could use the fully-qualified path + | +LL | let _: <S as Example>::A; + | ~~~~~~~~~~~~~~~~~ + +error[E0223]: ambiguous associated type + --> $DIR/item-privacy.rs:116:12 + | +LL | let _: S::B; + | ^^^^ help: use the fully-qualified path: `<S as assoc_ty::B>::B` + +error[E0223]: ambiguous associated type + --> $DIR/item-privacy.rs:117:12 + | +LL | let _: S::C; + | ^^^^ help: use the fully-qualified path: `<S as assoc_ty::C>::C` + +error[E0624]: associated type `A` is private + --> $DIR/item-privacy.rs:119:12 + | +LL | type A = u8; + | ------ associated type defined here +... +LL | let _: T::A; + | ^^^^ private associated type + +error: associated type `A` is private + --> $DIR/item-privacy.rs:128:9 + | +LL | A = u8, + | ^^^^^^ private associated type + +error: aborting due to 15 previous errors + +Some errors have detailed explanations: E0038, E0223, E0599, E0624. +For more information about an error, try `rustc --explain E0038`. |