]> git.lizzy.rs Git - rust.git/blob - src/test/ui/macros/macro-at-most-once-rep-2015-ques-sep.rs
Rollup merge of #53376 - frewsxcv:frewsxcv-copy, r=GuillaumeGomez
[rust.git] / src / test / ui / macros / macro-at-most-once-rep-2015-ques-sep.rs
1 // Copyright 2012 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 // Test behavior of `?` macro _separator_ under the 2015 edition. Namely, `?` can be used as a
12 // separator, but you get a migration warning for the edition.
13
14 // edition:2015
15 // compile-pass
16
17 #![warn(rust_2018_compatibility)]
18
19 macro_rules! bar {
20     ($(a)?*) => {} //~WARN using `?` as a separator
21     //~^WARN this was previously accepted
22 }
23
24 macro_rules! baz {
25     ($(a)?+) => {} //~WARN using `?` as a separator
26     //~^WARN this was previously accepted
27 }
28
29 fn main() {
30     bar!();
31     bar!(a);
32     bar!(a?a);
33     bar!(a?a?a?a?a);
34
35     baz!(a);
36     baz!(a?a);
37     baz!(a?a?a?a?a);
38 }