33 lines
680 B
Rust
33 lines
680 B
Rust
// run-pass
|
|
// compile-flags:-Zmir-opt-level=3
|
|
|
|
struct Cursor {}
|
|
struct TokenTree {}
|
|
|
|
impl Iterator for Cursor {
|
|
type Item = TokenTree;
|
|
|
|
fn next(&mut self) -> Option<TokenTree> {
|
|
None
|
|
}
|
|
}
|
|
|
|
fn tokenstream_probably_equal_for_proc_macro() {
|
|
fn break_tokens(_tree: TokenTree) -> impl Iterator<Item = TokenTree> {
|
|
let token_trees: Vec<TokenTree> = vec![];
|
|
token_trees.into_iter()
|
|
}
|
|
|
|
let c1 = Cursor {};
|
|
let c2 = Cursor {};
|
|
|
|
let mut t1 = c1.flat_map(break_tokens);
|
|
let mut t2 = c2.flat_map(break_tokens);
|
|
|
|
for (_t1, _t2) in t1.by_ref().zip(t2.by_ref()) {}
|
|
}
|
|
|
|
fn main() {
|
|
tokenstream_probably_equal_for_proc_macro();
|
|
}
|