From 3f68c43d0634fd4357444a667852ade780082fb6 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Wed, 19 Sep 2018 11:54:32 -0700 Subject: [PATCH] Add `#[derive(Clone, Debug)]` to all web-sys types They're all cloneable and debuggable! --- crates/webidl/src/lib.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/crates/webidl/src/lib.rs b/crates/webidl/src/lib.rs index f88a314c..92996612 100644 --- a/crates/webidl/src/lib.rs +++ b/crates/webidl/src/lib.rs @@ -468,11 +468,18 @@ impl<'src> FirstPassRecord<'src> { name, mdn_doc(name, None), )); + let derive = syn::Attribute { + pound_token: Default::default(), + style: syn::AttrStyle::Outer, + bracket_token: Default::default(), + path: Ident::new("derive", Span::call_site()).into(), + tts: quote!((Debug, Clone)), + }; let mut import_type = backend::ast::ImportType { vis: public(), rust_name: rust_ident(camel_case_ident(name).as_str()), js_name: name.to_string(), - attrs: Vec::new(), + attrs: vec![derive], doc_comment: None, instanceof_shim: format!("__widl_instanceof_{}", name), extends: self.all_superclasses(name)