@@ -214,6 +214,7 @@ ast_struct! {
214214 pub struct ItemMod {
215215 pub attrs: Vec <Attribute >,
216216 pub vis: Visibility ,
217+ pub unsafety: Option <Token ![ unsafe ] >,
217218 pub mod_token: Token ![ mod ] ,
218219 pub ident: Ident ,
219220 pub content: Option <( token:: Brace , Vec <Item >) >,
@@ -1580,6 +1581,7 @@ pub mod parsing {
15801581 fn parse ( input : ParseStream ) -> Result < Self > {
15811582 let outer_attrs = input. call ( Attribute :: parse_outer) ?;
15821583 let vis: Visibility = input. parse ( ) ?;
1584+ let unsafety = input. parse ( ) ?;
15831585 let mod_token: Token ! [ mod ] = input. parse ( ) ?;
15841586 let ident: Ident = input. parse ( ) ?;
15851587
@@ -1588,6 +1590,7 @@ pub mod parsing {
15881590 Ok ( ItemMod {
15891591 attrs : outer_attrs,
15901592 vis,
1593+ unsafety,
15911594 mod_token,
15921595 ident,
15931596 content : None ,
@@ -1606,6 +1609,7 @@ pub mod parsing {
16061609 Ok ( ItemMod {
16071610 attrs : private:: attrs ( outer_attrs, inner_attrs) ,
16081611 vis,
1612+ unsafety,
16091613 mod_token,
16101614 ident,
16111615 content : Some ( ( brace_token, items) ) ,
@@ -2761,6 +2765,7 @@ mod printing {
27612765 fn to_tokens ( & self , tokens : & mut TokenStream ) {
27622766 tokens. append_all ( self . attrs . outer ( ) ) ;
27632767 self . vis . to_tokens ( tokens) ;
2768+ self . unsafety . to_tokens ( tokens) ;
27642769 self . mod_token . to_tokens ( tokens) ;
27652770 self . ident . to_tokens ( tokens) ;
27662771 if let Some ( ( brace, items) ) = & self . content {
0 commit comments