17ac06127Sopenharmony_ciextern crate proc_macro; 27ac06127Sopenharmony_ci 37ac06127Sopenharmony_ciuse std::mem; 47ac06127Sopenharmony_ci 57ac06127Sopenharmony_ci#[rustversion::attr(before(1.32), ignore)] 67ac06127Sopenharmony_ci#[test] 77ac06127Sopenharmony_cifn test_proc_macro_span_size() { 87ac06127Sopenharmony_ci assert_eq!(mem::size_of::<proc_macro::Span>(), 4); 97ac06127Sopenharmony_ci assert_eq!(mem::size_of::<Option<proc_macro::Span>>(), 4); 107ac06127Sopenharmony_ci} 117ac06127Sopenharmony_ci 127ac06127Sopenharmony_ci#[cfg_attr(not(all(not(wrap_proc_macro), not(span_locations))), ignore)] 137ac06127Sopenharmony_ci#[test] 147ac06127Sopenharmony_cifn test_proc_macro2_fallback_span_size_without_locations() { 157ac06127Sopenharmony_ci assert_eq!(mem::size_of::<proc_macro2::Span>(), 0); 167ac06127Sopenharmony_ci assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 1); 177ac06127Sopenharmony_ci} 187ac06127Sopenharmony_ci 197ac06127Sopenharmony_ci#[cfg_attr(not(all(not(wrap_proc_macro), span_locations)), ignore)] 207ac06127Sopenharmony_ci#[test] 217ac06127Sopenharmony_cifn test_proc_macro2_fallback_span_size_with_locations() { 227ac06127Sopenharmony_ci assert_eq!(mem::size_of::<proc_macro2::Span>(), 8); 237ac06127Sopenharmony_ci assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 12); 247ac06127Sopenharmony_ci} 257ac06127Sopenharmony_ci 267ac06127Sopenharmony_ci#[rustversion::attr(before(1.32), ignore)] 277ac06127Sopenharmony_ci#[rustversion::attr( 287ac06127Sopenharmony_ci since(1.32), 297ac06127Sopenharmony_ci cfg_attr(not(all(wrap_proc_macro, not(span_locations))), ignore) 307ac06127Sopenharmony_ci)] 317ac06127Sopenharmony_ci#[test] 327ac06127Sopenharmony_cifn test_proc_macro2_wrapper_span_size_without_locations() { 337ac06127Sopenharmony_ci assert_eq!(mem::size_of::<proc_macro2::Span>(), 4); 347ac06127Sopenharmony_ci assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 8); 357ac06127Sopenharmony_ci} 367ac06127Sopenharmony_ci 377ac06127Sopenharmony_ci#[cfg_attr(not(all(wrap_proc_macro, span_locations)), ignore)] 387ac06127Sopenharmony_ci#[test] 397ac06127Sopenharmony_cifn test_proc_macro2_wrapper_span_size_with_locations() { 407ac06127Sopenharmony_ci assert_eq!(mem::size_of::<proc_macro2::Span>(), 12); 417ac06127Sopenharmony_ci assert_eq!(mem::size_of::<Option<proc_macro2::Span>>(), 12); 427ac06127Sopenharmony_ci} 43