xref: /third_party/rust/crates/proc-macro2/tests/test_size.rs (revision 7ac06127)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/rust/crates/proc-macro2/tests/
1extern crate proc_macro;
2
3use std::mem;
4
5#[rustversion::attr(before(1.32), ignore)]
6#[test]
7fn test_proc_macro_span_size() {
8    assert_eq!(mem::size_of::<proc_macro::Span>(), 4);
9    assert_eq!(mem::size_of::<Option<proc_macro::Span>>(), 4);
10}
11
12#[cfg_attr(not(all(not(wrap_proc_macro), not(span_locations))), ignore)]
13#[test]
14fn test_proc_macro2_fallback_span_size_without_locations() {
15    assert_eq!(mem::size_of::<proc_macro2::Span>(), 0);
16    assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 1);
17}
18
19#[cfg_attr(not(all(not(wrap_proc_macro), span_locations)), ignore)]
20#[test]
21fn test_proc_macro2_fallback_span_size_with_locations() {
22    assert_eq!(mem::size_of::<proc_macro2::Span>(), 8);
23    assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 12);
24}
25
26#[rustversion::attr(before(1.32), ignore)]
27#[rustversion::attr(
28    since(1.32),
29    cfg_attr(not(all(wrap_proc_macro, not(span_locations))), ignore)
30)]
31#[test]
32fn test_proc_macro2_wrapper_span_size_without_locations() {
33    assert_eq!(mem::size_of::<proc_macro2::Span>(), 4);
34    assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 8);
35}
36
37#[cfg_attr(not(all(wrap_proc_macro, span_locations)), ignore)]
38#[test]
39fn test_proc_macro2_wrapper_span_size_with_locations() {
40    assert_eq!(mem::size_of::<proc_macro2::Span>(), 12);
41    assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 12);
42}
43

Indexes created Thu Nov 07 10:32:03 CST 2024