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
41 error[E0599]: no function or associated item named `a` found for struct `S` in the current scope
42 --> $DIR/item-privacy.rs:78:8
45 | --------- function or associated item `a` not found for this
48 | ^ function or associated item not found in `S`
50 = help: items from traits can only be used if the trait is implemented and in scope
51 note: `method::A` defines an item `a`, perhaps you need to implement it
52 --> $DIR/item-privacy.rs:6:5
57 error[E0599]: no function or associated item named `b` found for struct `S` in the current scope
58 --> $DIR/item-privacy.rs:80:8
61 | --------- function or associated item `b` not found for this
64 | ^ function or associated item not found in `S`
66 = help: items from traits can only be used if the trait is in scope
67 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
72 error[E0624]: associated function `a` is private
73 --> $DIR/item-privacy.rs:84:14
76 | ^ private associated function
78 error[E0599]: no associated item named `A` found for struct `S` in the current scope
79 --> $DIR/item-privacy.rs:97:8
82 | --------- associated item `A` not found for this
85 | ^ associated item not found in `S`
87 = help: items from traits can only be used if the trait is implemented and in scope
88 note: `assoc_const::A` defines an item `A`, perhaps you need to implement it
89 --> $DIR/item-privacy.rs:24:5
94 error[E0599]: no associated item named `B` found for struct `S` in the current scope
95 --> $DIR/item-privacy.rs:98:8
98 | --------- associated item `B` not found for this
101 | ^ associated item not found in `S`
103 = help: items from traits can only be used if the trait is in scope
104 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
106 LL | use assoc_const::B;
109 error[E0624]: associated constant `A` is private
110 --> $DIR/item-privacy.rs:101:14
113 | ^ private associated constant
115 error[E0038]: the trait `assoc_const::C` cannot be made into an object
116 --> $DIR/item-privacy.rs:101:6
119 | ^^^^^ `assoc_const::C` cannot be made into an object
121 = help: consider moving `C` to another trait
122 = help: consider moving `B` to another trait
123 = help: consider moving `A` to another trait
124 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>
125 --> $DIR/item-privacy.rs:25:15
127 LL | const A: u8 = 0;
128 | ^ ...because it contains this associated `const`
130 LL | const B: u8 = 0;
131 | ^ ...because it contains this associated `const`
133 LL | pub trait C: A + B {
134 | - this trait cannot be made into an object...
135 LL | const C: u8 = 0;
136 | ^ ...because it contains this associated `const`
138 error[E0223]: ambiguous associated type
139 --> $DIR/item-privacy.rs:115:12
142 | ^^^^ help: use fully-qualified syntax: `<S as Trait>::A`
144 error[E0223]: ambiguous associated type
145 --> $DIR/item-privacy.rs:116:12
148 | ^^^^ help: use fully-qualified syntax: `<S as Trait>::B`
150 error[E0223]: ambiguous associated type
151 --> $DIR/item-privacy.rs:117:12
154 | ^^^^ help: use fully-qualified syntax: `<S as Trait>::C`
156 error: associated type `A` is private
157 --> $DIR/item-privacy.rs:119:12
160 | ^^^^ private associated type
162 error: associated type `A` is private
163 --> $DIR/item-privacy.rs:128:9
166 | ^^^^^^ private associated type
168 error: aborting due to 15 previous errors
170 Some errors have detailed explanations: E0038, E0223, E0599, E0624.
171 For more information about an error, try `rustc --explain E0038`.