@@ -56,11 +56,7 @@ fn expand(ffi: Module, apis: &[Api], types: &Types) -> TokenStream {
56
56
}
57
57
Api :: TypeAlias ( alias) => {
58
58
expanded. extend ( expand_type_alias ( alias) ) ;
59
- hidden. extend ( expand_type_alias_verify ( namespace, alias) ) ;
60
- let ident = & alias. ident ;
61
- if types. required_trivial_aliases . contains ( ident) {
62
- hidden. extend ( expand_type_alias_kind_trivial_verify ( alias) ) ;
63
- }
59
+ hidden. extend ( expand_type_alias_verify ( namespace, alias, types) ) ;
64
60
}
65
61
}
66
62
}
@@ -671,29 +667,30 @@ fn expand_type_alias(alias: &TypeAlias) -> TokenStream {
671
667
}
672
668
}
673
669
674
- fn expand_type_alias_verify ( namespace : & Namespace , alias : & TypeAlias ) -> TokenStream {
670
+ fn expand_type_alias_verify (
671
+ namespace : & Namespace ,
672
+ alias : & TypeAlias ,
673
+ types : & Types ,
674
+ ) -> TokenStream {
675
675
let ident = & alias. ident ;
676
676
let type_id = type_id ( namespace, ident) ;
677
677
let begin_span = alias. type_token . span ;
678
678
let end_span = alias. semi_token . span ;
679
679
let begin = quote_spanned ! ( begin_span=> :: cxx:: private:: verify_extern_type:: <) ;
680
680
let end = quote_spanned ! ( end_span=> >) ;
681
681
682
- quote ! {
682
+ let mut verify = quote ! {
683
683
const _: fn ( ) = #begin #ident, #type_id #end;
684
- }
685
- }
686
-
687
- fn expand_type_alias_kind_trivial_verify ( type_alias : & TypeAlias ) -> TokenStream {
688
- let ident = & type_alias. ident ;
689
- let begin_span = type_alias. type_token . span ;
690
- let end_span = type_alias. semi_token . span ;
691
- let begin = quote_spanned ! ( begin_span=> :: cxx:: private:: verify_extern_kind:: <) ;
692
- let end = quote_spanned ! ( end_span=> >) ;
684
+ } ;
693
685
694
- quote ! {
695
- const _: fn ( ) = #begin #ident, :: cxx:: kind:: Trivial #end;
686
+ if types. required_trivial_aliases . contains ( & alias. ident ) {
687
+ let begin = quote_spanned ! ( begin_span=> :: cxx:: private:: verify_extern_kind:: <) ;
688
+ verify. extend ( quote ! {
689
+ const _: fn ( ) = #begin #ident, :: cxx:: kind:: Trivial #end;
690
+ } ) ;
696
691
}
692
+
693
+ verify
697
694
}
698
695
699
696
fn type_id ( namespace : & Namespace , ident : & Ident ) -> TokenStream {
0 commit comments