1 error[E0599]: the method `filterx` exists for struct `Map<Repeat, [closure@$DIR/issue-30786.rs:117:27: 117:36]>`, but its trait bounds were not satisfied
2 --> $DIR/issue-30786.rs:118:22
4 LL | pub struct Map<S, F> {
7 | method `filterx` not found for this
8 | doesn't satisfy `_: StreamExt`
10 LL | let filter = map.filterx(|x: &_| true);
11 | ^^^^^^^ method cannot be called on `Map<Repeat, [closure@$DIR/issue-30786.rs:117:27: 117:36]>` due to unsatisfied trait bounds
13 note: the following trait bounds were not satisfied:
14 `&'a mut &Map<Repeat, [closure@$DIR/issue-30786.rs:117:27: 117:36]>: Stream`
15 `&'a mut &mut Map<Repeat, [closure@$DIR/issue-30786.rs:117:27: 117:36]>: Stream`
16 `&'a mut Map<Repeat, [closure@$DIR/issue-30786.rs:117:27: 117:36]>: Stream`
17 --> $DIR/issue-30786.rs:96:50
19 LL | impl<T> StreamExt for T where for<'a> &'a mut T: Stream {}
20 | --------- - ^^^^^^ unsatisfied trait bound introduced here
21 help: one of the expressions' fields has a method of the same name
23 LL | let filter = map.stream.filterx(|x: &_| true);
26 error[E0599]: the method `countx` exists for struct `Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:129:30: 129:42]>`, but its trait bounds were not satisfied
27 --> $DIR/issue-30786.rs:130:24
29 LL | pub struct Filter<S, F> {
30 | -----------------------
32 | method `countx` not found for this
33 | doesn't satisfy `_: StreamExt`
35 LL | let count = filter.countx();
36 | ^^^^^^ method cannot be called on `Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:129:30: 129:42]>` due to unsatisfied trait bounds
38 note: the following trait bounds were not satisfied:
39 `&'a mut &Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:129:30: 129:42]>: Stream`
40 `&'a mut &mut Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:129:30: 129:42]>: Stream`
41 `&'a mut Filter<Map<Repeat, for<'r> fn(&'r u64) -> &'r u64 {identity::<u64>}>, [closure@$DIR/issue-30786.rs:129:30: 129:42]>: Stream`
42 --> $DIR/issue-30786.rs:96:50
44 LL | impl<T> StreamExt for T where for<'a> &'a mut T: Stream {}
45 | --------- - ^^^^^^ unsatisfied trait bound introduced here
46 help: one of the expressions' fields has a method of the same name
48 LL | let count = filter.stream.countx();
51 error: aborting due to 2 previous errors
53 For more information about this error, try `rustc --explain E0599`.