Support derive(Default) on structs
diff --git a/syntax/check.rs b/syntax/check.rs
index 85db2480..725105d 100644
--- a/syntax/check.rs
+++ b/syntax/check.rs
@@ -3,7 +3,7 @@
 use crate::syntax::types::TrivialReason;
 use crate::syntax::{
     error, ident, Api, Array, Enum, ExternFn, ExternType, Impl, Lang, Receiver, Ref, Signature,
-    SliceRef, Struct, Ty1, Type, Types,
+    SliceRef, Struct, Trait, Ty1, Type, Types,
 };
 use proc_macro2::{Delimiter, Group, Ident, TokenStream};
 use quote::{quote, ToTokens};
@@ -256,6 +256,15 @@
             "explicit #[repr(...)] is required for enum without any variants",
         );
     }
+
+    for derive in &enm.derives {
+        if derive.what == Trait::Default {
+            cx.error(
+                derive,
+                "derive(Default) on shared enums is not supported yet",
+            );
+        }
+    }
 }
 
 fn check_api_type(cx: &mut Check, ety: &ExternType) {