|
| 1 | +#![cfg(not(randomize_layout))] |
| 2 | + |
1 | 3 | extern crate proc_macro; |
2 | 4 |
|
3 | 5 | use std::mem; |
4 | 6 |
|
5 | | -#[rustversion::attr(before(1.32), ignore)] |
| 7 | +#[rustversion::attr(before(1.64), ignore)] |
6 | 8 | #[test] |
7 | | -fn test_proc_macro_span_size() { |
| 9 | +fn test_proc_macro_size() { |
8 | 10 | assert_eq!(mem::size_of::<proc_macro::Span>(), 4); |
9 | 11 | assert_eq!(mem::size_of::<Option<proc_macro::Span>>(), 4); |
| 12 | + assert_eq!(mem::size_of::<proc_macro::Group>(), 20); |
| 13 | + assert_eq!(mem::size_of::<proc_macro::Ident>(), 12); |
| 14 | + assert_eq!(mem::size_of::<proc_macro::Punct>(), 8); |
| 15 | + assert_eq!(mem::size_of::<proc_macro::Literal>(), 16); |
| 16 | + assert_eq!(mem::size_of::<proc_macro::TokenStream>(), 4); |
10 | 17 | } |
11 | 18 |
|
12 | 19 | #[cfg_attr(not(all(not(wrap_proc_macro), not(span_locations))), ignore)] |
13 | 20 | #[test] |
14 | | -fn test_proc_macro2_fallback_span_size_without_locations() { |
| 21 | +fn test_proc_macro2_fallback_size_without_locations() { |
15 | 22 | assert_eq!(mem::size_of::<proc_macro2::Span>(), 0); |
16 | 23 | assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 1); |
| 24 | + assert_eq!(mem::size_of::<proc_macro2::Group>(), 16); |
| 25 | + assert_eq!(mem::size_of::<proc_macro2::Ident>(), 32); |
| 26 | + assert_eq!(mem::size_of::<proc_macro2::Punct>(), 8); |
| 27 | + assert_eq!(mem::size_of::<proc_macro2::Literal>(), 24); |
| 28 | + assert_eq!(mem::size_of::<proc_macro2::TokenStream>(), 8); |
17 | 29 | } |
18 | 30 |
|
19 | 31 | #[cfg_attr(not(all(not(wrap_proc_macro), span_locations)), ignore)] |
20 | 32 | #[test] |
21 | | -fn test_proc_macro2_fallback_span_size_with_locations() { |
| 33 | +fn test_proc_macro2_fallback_size_with_locations() { |
22 | 34 | assert_eq!(mem::size_of::<proc_macro2::Span>(), 8); |
23 | 35 | assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 12); |
| 36 | + assert_eq!(mem::size_of::<proc_macro2::Group>(), 24); |
| 37 | + assert_eq!(mem::size_of::<proc_macro2::Ident>(), 40); |
| 38 | + assert_eq!(mem::size_of::<proc_macro2::Punct>(), 16); |
| 39 | + assert_eq!(mem::size_of::<proc_macro2::Literal>(), 32); |
| 40 | + assert_eq!(mem::size_of::<proc_macro2::TokenStream>(), 8); |
24 | 41 | } |
25 | 42 |
|
26 | | -#[rustversion::attr(before(1.32), ignore)] |
| 43 | +#[rustversion::attr(before(1.71), ignore)] |
27 | 44 | #[rustversion::attr( |
28 | | - since(1.32), |
| 45 | + since(1.71), |
29 | 46 | cfg_attr(not(all(wrap_proc_macro, not(span_locations))), ignore) |
30 | 47 | )] |
31 | 48 | #[test] |
32 | | -fn test_proc_macro2_wrapper_span_size_without_locations() { |
| 49 | +fn test_proc_macro2_wrapper_size_without_locations() { |
33 | 50 | assert_eq!(mem::size_of::<proc_macro2::Span>(), 4); |
34 | 51 | assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 8); |
| 52 | + assert_eq!(mem::size_of::<proc_macro2::Group>(), 24); |
| 53 | + assert_eq!(mem::size_of::<proc_macro2::Ident>(), 32); |
| 54 | + assert_eq!(mem::size_of::<proc_macro2::Punct>(), 12); |
| 55 | + assert_eq!(mem::size_of::<proc_macro2::Literal>(), 24); |
| 56 | + assert_eq!(mem::size_of::<proc_macro2::TokenStream>(), 32); |
35 | 57 | } |
36 | 58 |
|
37 | | -#[cfg_attr(not(all(wrap_proc_macro, span_locations)), ignore)] |
| 59 | +#[rustversion::attr(before(1.65), ignore)] |
| 60 | +#[rustversion::attr( |
| 61 | + since(1.65), |
| 62 | + cfg_attr(not(all(wrap_proc_macro, span_locations)), ignore) |
| 63 | +)] |
38 | 64 | #[test] |
39 | | -fn test_proc_macro2_wrapper_span_size_with_locations() { |
| 65 | +fn test_proc_macro2_wrapper_size_with_locations() { |
40 | 66 | assert_eq!(mem::size_of::<proc_macro2::Span>(), 12); |
41 | 67 | assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 12); |
| 68 | + assert_eq!(mem::size_of::<proc_macro2::Group>(), 32); |
| 69 | + assert_eq!(mem::size_of::<proc_macro2::Ident>(), 40); |
| 70 | + assert_eq!(mem::size_of::<proc_macro2::Punct>(), 20); |
| 71 | + assert_eq!(mem::size_of::<proc_macro2::Literal>(), 32); |
| 72 | + assert_eq!(mem::size_of::<proc_macro2::TokenStream>(), 32); |
42 | 73 | } |
0 commit comments