summaryrefslogtreecommitdiffstats
path: root/third_party/rust/serde_derive/src/dummy.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/serde_derive/src/dummy.rs')
-rw-r--r--third_party/rust/serde_derive/src/dummy.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/third_party/rust/serde_derive/src/dummy.rs b/third_party/rust/serde_derive/src/dummy.rs
new file mode 100644
index 0000000000..095f950f3e
--- /dev/null
+++ b/third_party/rust/serde_derive/src/dummy.rs
@@ -0,0 +1,23 @@
+use proc_macro2::TokenStream;
+use quote::quote;
+
+pub fn wrap_in_const(serde_path: Option<&syn::Path>, code: TokenStream) -> TokenStream {
+ let use_serde = match serde_path {
+ Some(path) => quote! {
+ use #path as _serde;
+ },
+ None => quote! {
+ #[allow(unused_extern_crates, clippy::useless_attribute)]
+ extern crate serde as _serde;
+ },
+ };
+
+ quote! {
+ #[doc(hidden)]
+ #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
+ const _: () = {
+ #use_serde
+ #code
+ };
+ }
+}