Skip to content

Commit 7b357af

Browse files
committed
Add additional size tests
1 parent abc7dff commit 7b357af

File tree

1 file changed

+38
-9
lines changed

1 file changed

+38
-9
lines changed

tests/test_size.rs

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,41 +2,70 @@ extern crate proc_macro;
22

33
use std::mem;
44

5-
#[rustversion::attr(before(1.32), ignore)]
5+
#[rustversion::attr(before(1.64), ignore)]
66
#[test]
7-
fn test_proc_macro_span_size() {
7+
fn test_proc_macro_size() {
88
assert_eq!(mem::size_of::<proc_macro::Span>(), 4);
99
assert_eq!(mem::size_of::<Option<proc_macro::Span>>(), 4);
10+
assert_eq!(mem::size_of::<proc_macro::Group>(), 20);
11+
assert_eq!(mem::size_of::<proc_macro::Ident>(), 12);
12+
assert_eq!(mem::size_of::<proc_macro::Punct>(), 8);
13+
assert_eq!(mem::size_of::<proc_macro::Literal>(), 16);
14+
assert_eq!(mem::size_of::<proc_macro::TokenStream>(), 4);
1015
}
1116

1217
#[cfg_attr(not(all(not(wrap_proc_macro), not(span_locations))), ignore)]
1318
#[test]
14-
fn test_proc_macro2_fallback_span_size_without_locations() {
19+
fn test_proc_macro2_fallback_size_without_locations() {
1520
assert_eq!(mem::size_of::<proc_macro2::Span>(), 0);
1621
assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 1);
22+
assert_eq!(mem::size_of::<proc_macro2::Group>(), 16);
23+
assert_eq!(mem::size_of::<proc_macro2::Ident>(), 32);
24+
assert_eq!(mem::size_of::<proc_macro2::Punct>(), 8);
25+
assert_eq!(mem::size_of::<proc_macro2::Literal>(), 24);
26+
assert_eq!(mem::size_of::<proc_macro2::TokenStream>(), 8);
1727
}
1828

1929
#[cfg_attr(not(all(not(wrap_proc_macro), span_locations)), ignore)]
2030
#[test]
21-
fn test_proc_macro2_fallback_span_size_with_locations() {
31+
fn test_proc_macro2_fallback_size_with_locations() {
2232
assert_eq!(mem::size_of::<proc_macro2::Span>(), 8);
2333
assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 12);
34+
assert_eq!(mem::size_of::<proc_macro2::Group>(), 24);
35+
assert_eq!(mem::size_of::<proc_macro2::Ident>(), 40);
36+
assert_eq!(mem::size_of::<proc_macro2::Punct>(), 16);
37+
assert_eq!(mem::size_of::<proc_macro2::Literal>(), 32);
38+
assert_eq!(mem::size_of::<proc_macro2::TokenStream>(), 8);
2439
}
2540

26-
#[rustversion::attr(before(1.32), ignore)]
41+
#[rustversion::attr(before(1.71), ignore)]
2742
#[rustversion::attr(
28-
since(1.32),
43+
since(1.71),
2944
cfg_attr(not(all(wrap_proc_macro, not(span_locations))), ignore)
3045
)]
3146
#[test]
32-
fn test_proc_macro2_wrapper_span_size_without_locations() {
47+
fn test_proc_macro2_wrapper_size_without_locations() {
3348
assert_eq!(mem::size_of::<proc_macro2::Span>(), 4);
3449
assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 8);
50+
assert_eq!(mem::size_of::<proc_macro2::Group>(), 24);
51+
assert_eq!(mem::size_of::<proc_macro2::Ident>(), 32);
52+
assert_eq!(mem::size_of::<proc_macro2::Punct>(), 12);
53+
assert_eq!(mem::size_of::<proc_macro2::Literal>(), 24);
54+
assert_eq!(mem::size_of::<proc_macro2::TokenStream>(), 32);
3555
}
3656

37-
#[cfg_attr(not(all(wrap_proc_macro, span_locations)), ignore)]
57+
#[rustversion::attr(before(1.65), ignore)]
58+
#[rustversion::attr(
59+
since(1.65),
60+
cfg_attr(not(all(wrap_proc_macro, span_locations)), ignore)
61+
)]
3862
#[test]
39-
fn test_proc_macro2_wrapper_span_size_with_locations() {
63+
fn test_proc_macro2_wrapper_size_with_locations() {
4064
assert_eq!(mem::size_of::<proc_macro2::Span>(), 12);
4165
assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 12);
66+
assert_eq!(mem::size_of::<proc_macro2::Group>(), 32);
67+
assert_eq!(mem::size_of::<proc_macro2::Ident>(), 40);
68+
assert_eq!(mem::size_of::<proc_macro2::Punct>(), 20);
69+
assert_eq!(mem::size_of::<proc_macro2::Literal>(), 32);
70+
assert_eq!(mem::size_of::<proc_macro2::TokenStream>(), 32);
4271
}

0 commit comments

Comments
 (0)