diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
commit | 218caa410aa38c29984be31a5229b9fa717560ee (patch) | |
tree | c54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/ui/macros/rfc-3086-metavar-expr/macro-expansion.rs | |
parent | Releasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff) | |
download | rustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/macros/rfc-3086-metavar-expr/macro-expansion.rs')
-rw-r--r-- | src/test/ui/macros/rfc-3086-metavar-expr/macro-expansion.rs | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/src/test/ui/macros/rfc-3086-metavar-expr/macro-expansion.rs b/src/test/ui/macros/rfc-3086-metavar-expr/macro-expansion.rs deleted file mode 100644 index b954967c4..000000000 --- a/src/test/ui/macros/rfc-3086-metavar-expr/macro-expansion.rs +++ /dev/null @@ -1,102 +0,0 @@ -// run-pass - -#![feature(macro_metavar_expr)] - -#[derive(Debug)] -struct Example<'a> { - _indexes: &'a [(u32, u32)], - _counts: &'a [u32], - _nested: Vec<Example<'a>>, -} - -macro_rules! example { - ( $( [ $( ( $( $x:ident )* ) )* ] )* ) => { - Example { - _indexes: &[], - _counts: &[${count(x, 0)}, ${count(x, 1)}, ${count(x, 2)}], - _nested: vec![ - $( - Example { - _indexes: &[(${index()}, ${length()})], - _counts: &[${count(x, 0)}, ${count(x, 1)}], - _nested: vec![ - $( - Example { - _indexes: &[(${index(1)}, ${length(1)}), (${index()}, ${length()})], - _counts: &[${count(x)}], - _nested: vec![ - $( - Example { - _indexes: &[ - (${index(2)}, ${length(2)}), - (${index(1)}, ${length(1)}), - (${index()}, ${length()}) - ], - _counts: &[], - _nested: vec![], - ${ignore(x)} - } - ),* - ] - } - ),* - ] - } - ),* - ] - } - }; -} - -static EXPECTED: &str = concat!( - "Example { _indexes: [], _counts: [2, 4, 13], _nested: [", - concat!( - "Example { _indexes: [(0, 2)], _counts: [3, 10], _nested: [", - concat!( - "Example { _indexes: [(0, 2), (0, 3)], _counts: [4], _nested: [", - concat!( - "Example { _indexes: [(0, 2), (0, 3), (0, 4)], _counts: [], _nested: [] }, ", - "Example { _indexes: [(0, 2), (0, 3), (1, 4)], _counts: [], _nested: [] }, ", - "Example { _indexes: [(0, 2), (0, 3), (2, 4)], _counts: [], _nested: [] }, ", - "Example { _indexes: [(0, 2), (0, 3), (3, 4)], _counts: [], _nested: [] }", - ), - "] }, ", - "Example { _indexes: [(0, 2), (1, 3)], _counts: [4], _nested: [", - concat!( - "Example { _indexes: [(0, 2), (1, 3), (0, 4)], _counts: [], _nested: [] }, ", - "Example { _indexes: [(0, 2), (1, 3), (1, 4)], _counts: [], _nested: [] }, ", - "Example { _indexes: [(0, 2), (1, 3), (2, 4)], _counts: [], _nested: [] }, ", - "Example { _indexes: [(0, 2), (1, 3), (3, 4)], _counts: [], _nested: [] }", - ), - "] }, ", - "Example { _indexes: [(0, 2), (2, 3)], _counts: [2], _nested: [", - concat!( - "Example { _indexes: [(0, 2), (2, 3), (0, 2)], _counts: [], _nested: [] }, ", - "Example { _indexes: [(0, 2), (2, 3), (1, 2)], _counts: [], _nested: [] }", - ), - "] }", - ), - "] }, ", - "Example { _indexes: [(1, 2)], _counts: [1, 3], _nested: [", - concat!( - "Example { _indexes: [(1, 2), (0, 1)], _counts: [3], _nested: [", - concat!( - "Example { _indexes: [(1, 2), (0, 1), (0, 3)], _counts: [], _nested: [] }, ", - "Example { _indexes: [(1, 2), (0, 1), (1, 3)], _counts: [], _nested: [] }, ", - "Example { _indexes: [(1, 2), (0, 1), (2, 3)], _counts: [], _nested: [] }", - ), - "] }", - ), - "] }", - ), - "] }", -); - -fn main() { - let e = example! { - [ ( A B C D ) ( E F G H ) ( I J ) ] - [ ( K L M ) ] - }; - let debug = format!("{:?}", e); - assert_eq!(debug, EXPECTED); -} |