]> git.lizzy.rs Git - rust.git/blob - tests/ui/macros/parse-complex-macro-invoc-op.rs
Rollup merge of #106714 - Ezrashaw:remove-e0490, r=davidtwco
[rust.git] / tests / ui / macros / parse-complex-macro-invoc-op.rs
1 // run-pass
2 #![allow(unused_must_use)]
3 #![allow(dead_code)]
4 #![allow(unused_assignments)]
5 #![allow(unused_variables)]
6 #![allow(stable_features)]
7
8 // Test parsing binary operators after macro invocations.
9
10 // pretty-expanded FIXME #23616
11
12 #![feature(macro_rules)]
13
14 macro_rules! id {
15     ($e: expr) => { $e }
16 }
17
18 fn foo() {
19     id!(1) + 1;
20     id![1] - 1;
21     id!(1) * 1;
22     id![1] / 1;
23     id!(1) % 1;
24
25     id!(1) & 1;
26     id![1] | 1;
27     id!(1) ^ 1;
28
29     let mut x = 1;
30     id![x] = 2;
31     id!(x) += 1;
32
33     id!(1f64).clone();
34
35     id!([1, 2, 3])[1];
36     id![drop](1);
37
38     id!(true) && true;
39     id![true] || true;
40 }
41
42 fn main() {}