diff --git a/src/parse.rs b/src/parse.rs
index b77b7d3750dcd51c37293b6d6fbc6276a4bf59e9..ebc279e9cfa5950f05056145b84b48f413721ddd 100644
--- a/src/parse.rs
+++ b/src/parse.rs
@@ -234,6 +234,12 @@ fn static_(tts: &mut Iter<TokenTree>) -> Result<Static> {
         if let Some(tt) = tts.next() {
             if tt == &TokenTree::Token(Token::Eq) {
                 break;
+            } else if tt == &TokenTree::Token(Token::Semi) {
+                fragments.push(tt);
+                bail!(
+                    "expected a type, found Semicolon: `{}`",
+                    quote!(#(#fragments)*)
+                );
             } else {
                 fragments.push(tt);
             }