diff --git a/src/expr.rs b/src/expr.rs
index 1f4e1bd..2be23fd 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -2416,12 +2416,23 @@
     #[cfg(feature = "full")]
     impl Synom for ExprUnsafe {
         named!(parse -> Self, do_parse!(
+            outer_attrs: many0!(Attribute::old_parse_outer) >>
             unsafe_: keyword!(unsafe) >>
-            b: syn!(Block) >>
+            block: braces!(tuple!(
+                many0!(Attribute::old_parse_inner),
+                call!(Block::parse_within),
+            )) >>
             (ExprUnsafe {
-                attrs: Vec::new(),
+                attrs: {
+                    let mut attrs = outer_attrs;
+                    attrs.extend((block.1).0);
+                    attrs
+                },
                 unsafe_token: unsafe_,
-                block: b,
+                block: Block {
+                    brace_token: block.0,
+                    stmts: (block.1).1,
+                },
             })
         ));
 
@@ -3455,7 +3466,10 @@
         fn to_tokens(&self, tokens: &mut TokenStream) {
             outer_attrs_to_tokens(&self.attrs, tokens);
             self.unsafe_token.to_tokens(tokens);
-            self.block.to_tokens(tokens);
+            self.block.brace_token.surround(tokens, |tokens| {
+                inner_attrs_to_tokens(&self.attrs, tokens);
+                tokens.append_all(&self.block.stmts);
+            });
         }
     }
 
