@@ -214,6 +214,7 @@ ast_struct! {
214
214
pub struct ItemMod {
215
215
pub attrs: Vec <Attribute >,
216
216
pub vis: Visibility ,
217
+ pub unsafety: Option <Token ![ unsafe ] >,
217
218
pub mod_token: Token ![ mod ] ,
218
219
pub ident: Ident ,
219
220
pub content: Option <( token:: Brace , Vec <Item >) >,
@@ -1580,6 +1581,7 @@ pub mod parsing {
1580
1581
fn parse ( input : ParseStream ) -> Result < Self > {
1581
1582
let outer_attrs = input. call ( Attribute :: parse_outer) ?;
1582
1583
let vis: Visibility = input. parse ( ) ?;
1584
+ let unsafety = input. parse ( ) ?;
1583
1585
let mod_token: Token ! [ mod ] = input. parse ( ) ?;
1584
1586
let ident: Ident = input. parse ( ) ?;
1585
1587
@@ -1588,6 +1590,7 @@ pub mod parsing {
1588
1590
Ok ( ItemMod {
1589
1591
attrs : outer_attrs,
1590
1592
vis,
1593
+ unsafety,
1591
1594
mod_token,
1592
1595
ident,
1593
1596
content : None ,
@@ -1606,6 +1609,7 @@ pub mod parsing {
1606
1609
Ok ( ItemMod {
1607
1610
attrs : private:: attrs ( outer_attrs, inner_attrs) ,
1608
1611
vis,
1612
+ unsafety,
1609
1613
mod_token,
1610
1614
ident,
1611
1615
content : Some ( ( brace_token, items) ) ,
@@ -2761,6 +2765,7 @@ mod printing {
2761
2765
fn to_tokens ( & self , tokens : & mut TokenStream ) {
2762
2766
tokens. append_all ( self . attrs . outer ( ) ) ;
2763
2767
self . vis . to_tokens ( tokens) ;
2768
+ self . unsafety . to_tokens ( tokens) ;
2764
2769
self . mod_token . to_tokens ( tokens) ;
2765
2770
self . ident . to_tokens ( tokens) ;
2766
2771
if let Some ( ( brace, items) ) = & self . content {
0 commit comments