1 error[E0599]: no method named `count` found for type `std::iter::Filter<std::iter::Fuse<std::iter::Once<&str>>, [closure@$DIR/issue-36053-2.rs:17:39: 17:53]>` in the current scope
2 --> $DIR/issue-36053-2.rs:17:55
4 17 | once::<&str>("str").fuse().filter(|a: &str| true).count();
7 = note: the method `count` exists but the following trait bounds were not satisfied:
8 `[closure@$DIR/issue-36053-2.rs:17:39: 17:53] : std::ops::FnMut<(&_,)>`
9 `std::iter::Filter<std::iter::Fuse<std::iter::Once<&str>>, [closure@$DIR/issue-36053-2.rs:17:39: 17:53]> : std::iter::Iterator`
11 error[E0281]: type mismatch: `[closure@$DIR/issue-36053-2.rs:17:39: 17:53]` implements the trait `for<'r> std::ops::FnMut<(&'r str,)>`, but the trait `for<'r> std::ops::FnMut<(&'r &str,)>` is required
12 --> $DIR/issue-36053-2.rs:17:32
14 17 | once::<&str>("str").fuse().filter(|a: &str| true).count();
15 | ^^^^^^ -------------- implements `for<'r> std::ops::FnMut<(&'r str,)>`
17 | requires `for<'r> std::ops::FnMut<(&'r &str,)>`
18 | expected &str, found str
20 error: aborting due to 2 previous errors