summaryrefslogtreecommitdiffstats
path: root/src/test/ui/associated-type-bounds/bad-bounds-on-assoc-in-trait.stderr
blob: c23e54594ee301f679c2cd46c48929dbc4f55693 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
error[E0277]: `<<Self as Case1>::C as Iterator>::Item` cannot be sent between threads safely
  --> $DIR/bad-bounds-on-assoc-in-trait.rs:26:36
   |
LL |     type C: Clone + Iterator<Item: Send + Iterator<Item: for<'a> Lam<&'a u8, App: Debug>> + Sync>;
   |                                    ^^^^ `<<Self as Case1>::C as Iterator>::Item` cannot be sent between threads safely
   |
   = help: the trait `Send` is not implemented for `<<Self as Case1>::C as Iterator>::Item`
help: consider further restricting the associated type
   |
LL | trait Case1 where <<Self as Case1>::C as Iterator>::Item: Send {
   |             ++++++++++++++++++++++++++++++++++++++++++++++++++

error[E0277]: `<<Self as Case1>::C as Iterator>::Item` is not an iterator
  --> $DIR/bad-bounds-on-assoc-in-trait.rs:26:43
   |
LL |     type C: Clone + Iterator<Item: Send + Iterator<Item: for<'a> Lam<&'a u8, App: Debug>> + Sync>;
   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `<<Self as Case1>::C as Iterator>::Item` is not an iterator
   |
   = help: the trait `Iterator` is not implemented for `<<Self as Case1>::C as Iterator>::Item`
help: consider further restricting the associated type
   |
LL | trait Case1 where <<Self as Case1>::C as Iterator>::Item: Iterator {
   |             ++++++++++++++++++++++++++++++++++++++++++++++++++++++

error[E0277]: `<<Self as Case1>::C as Iterator>::Item` cannot be shared between threads safely
  --> $DIR/bad-bounds-on-assoc-in-trait.rs:26:93
   |
LL |     type C: Clone + Iterator<Item: Send + Iterator<Item: for<'a> Lam<&'a u8, App: Debug>> + Sync>;
   |                                                                                             ^^^^ `<<Self as Case1>::C as Iterator>::Item` cannot be shared between threads safely
   |
   = help: the trait `Sync` is not implemented for `<<Self as Case1>::C as Iterator>::Item`
help: consider further restricting the associated type
   |
LL | trait Case1 where <<Self as Case1>::C as Iterator>::Item: Sync {
   |             ++++++++++++++++++++++++++++++++++++++++++++++++++

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0277`.