1 error[E0599]: no method named `a` found for struct `S` in the current scope
2 --> $DIR/item-privacy.rs:67:7
5 | --------- method `a` not found for this
8 | ^ method not found in `S`
10 = help: items from traits can only be used if the trait is implemented and in scope
11 note: `method::A` defines an item `a`, perhaps you need to implement it
12 --> $DIR/item-privacy.rs:6:5
17 error[E0599]: no method named `b` found for struct `S` in the current scope
18 --> $DIR/item-privacy.rs:68:7
21 | --------- method `b` not found for this
24 | - the method is available for `S` here
27 | ^ method not found in `S`
29 = help: items from traits can only be used if the trait is in scope
30 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
35 error[E0624]: associated function `a` is private
36 --> $DIR/item-privacy.rs:72:7
39 | ----------- private associated function defined here
42 | ^ private associated function
44 error[E0599]: no function or associated item named `a` found for struct `S` in the current scope
45 --> $DIR/item-privacy.rs:78:8
48 | --------- function or associated item `a` not found for this
51 | ^ function or associated item not found in `S`
53 = help: items from traits can only be used if the trait is implemented and in scope
54 note: `method::A` defines an item `a`, perhaps you need to implement it
55 --> $DIR/item-privacy.rs:6:5
60 error[E0599]: no function or associated item named `b` found for struct `S` in the current scope
61 --> $DIR/item-privacy.rs:80:8
64 | --------- function or associated item `b` not found for this
67 | ^ function or associated item not found in `S`
69 = help: items from traits can only be used if the trait is in scope
70 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
75 error[E0624]: associated function `a` is private
76 --> $DIR/item-privacy.rs:84:14
79 | ----------- private associated function defined here
82 | ^ private associated function
84 error[E0599]: no associated item named `A` found for struct `S` in the current scope
85 --> $DIR/item-privacy.rs:97:8
88 | --------- associated item `A` not found for this
91 | ^ associated item not found in `S`
93 = help: items from traits can only be used if the trait is implemented and in scope
94 note: `assoc_const::A` defines an item `A`, perhaps you need to implement it
95 --> $DIR/item-privacy.rs:24:5
100 error[E0599]: no associated item named `B` found for struct `S` in the current scope
101 --> $DIR/item-privacy.rs:98:8
104 | --------- associated item `B` not found for this
107 | ^ associated item not found in `S`
109 = help: items from traits can only be used if the trait is in scope
110 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
112 LL | use assoc_const::B;
115 error[E0624]: associated constant `A` is private
116 --> $DIR/item-privacy.rs:101:14
118 LL | const A: u8 = 0;
119 | ---------------- private associated constant defined here
122 | ^ private associated constant
124 error[E0038]: the trait `assoc_const::C` cannot be made into an object
125 --> $DIR/item-privacy.rs:101:6
128 | ^^^^^ `assoc_const::C` cannot be made into an object
130 = help: consider moving `C` to another trait
131 = help: consider moving `B` to another trait
132 = help: consider moving `A` to another trait
133 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>
134 --> $DIR/item-privacy.rs:25:15
136 LL | const A: u8 = 0;
137 | ^ ...because it contains this associated `const`
139 LL | const B: u8 = 0;
140 | ^ ...because it contains this associated `const`
142 LL | pub trait C: A + B {
143 | - this trait cannot be made into an object...
144 LL | const C: u8 = 0;
145 | ^ ...because it contains this associated `const`
147 error[E0223]: ambiguous associated type
148 --> $DIR/item-privacy.rs:115:12
151 | ^^^^ help: use fully-qualified syntax: `<S as Trait>::A`
153 error[E0223]: ambiguous associated type
154 --> $DIR/item-privacy.rs:116:12
157 | ^^^^ help: use fully-qualified syntax: `<S as Trait>::B`
159 error[E0223]: ambiguous associated type
160 --> $DIR/item-privacy.rs:117:12
163 | ^^^^ help: use fully-qualified syntax: `<S as Trait>::C`
165 error: associated type `A` is private
166 --> $DIR/item-privacy.rs:119:12
169 | ^^^^ private associated type
171 error: associated type `A` is private
172 --> $DIR/item-privacy.rs:128:9
175 | ^^^^^^ private associated type
177 error: aborting due to 15 previous errors
179 Some errors have detailed explanations: E0038, E0223, E0599, E0624.
180 For more information about an error, try `rustc --explain E0038`.