From 7cad957fe7413ad8aa68ca60970f5ce74e4458ce Mon Sep 17 00:00:00 2001 From: Valery Antopol Date: Wed, 15 Sep 2021 18:18:53 +0300 Subject: [PATCH] fix compilation for rustc 1.57.0-nightly (#60) --- crates/marine-macro-impl/src/ast_types.rs | 35 +++++++++---------- .../src/parse_macro_input/item_foreign_mod.rs | 6 +--- 2 files changed, 18 insertions(+), 23 deletions(-) diff --git a/crates/marine-macro-impl/src/ast_types.rs b/crates/marine-macro-impl/src/ast_types.rs index 9c1a119..805c4cb 100644 --- a/crates/marine-macro-impl/src/ast_types.rs +++ b/crates/marine-macro-impl/src/ast_types.rs @@ -18,25 +18,25 @@ use crate::parsed_type::ParsedType; #[derive(Clone)] pub(crate) struct AstFnArgument { - pub name: String, - pub ty: ParsedType, + pub(crate) name: String, + pub(crate) ty: ParsedType, } #[derive(Clone)] pub(crate) struct AstFnSignature { - pub visibility: syn::Visibility, - pub name: String, - pub arguments: Vec, + pub(crate) visibility: syn::Visibility, + pub(crate) name: String, + pub(crate) arguments: Vec, // only one or zero return values are supported now, // waiting for adding multi-value support in Wasmer - pub output_type: Option, + pub(crate) output_type: Option, } #[derive(Clone)] pub(crate) struct AstRecord { - pub name: String, - pub fields: AstRecordFields, - pub original: syn::ItemStruct, + pub(crate) name: String, + pub(crate) fields: AstRecordFields, + pub(crate) original: syn::ItemStruct, } #[derive(Debug, Clone, PartialEq)] @@ -55,29 +55,28 @@ pub(crate) enum AstRecordFields { #[derive(Debug, Clone, PartialEq)] pub(crate) struct AstRecordField { /// Name of the field. Can be `None` for tuples. - pub name: Option, - pub ty: ParsedType, + pub(crate) name: Option, + pub(crate) ty: ParsedType, } #[derive(Clone)] pub(crate) struct AstExternFn { - pub link_name: Option, + pub(crate) link_name: Option, // only imports are possible here - pub signature: AstFnSignature, + pub(crate) signature: AstFnSignature, } #[derive(Clone)] pub(crate) struct AstExternMod { - pub namespace: String, + pub(crate) namespace: String, // only imports are possible here - pub imports: Vec, - pub original: syn::ItemForeignMod, + pub(crate) imports: Vec, } #[derive(Clone)] pub(crate) struct AstFn { - pub signature: AstFnSignature, - pub original: syn::ItemFn, + pub(crate) signature: AstFnSignature, + pub(crate) original: syn::ItemFn, } #[derive(Clone)] diff --git a/crates/marine-macro-impl/src/parse_macro_input/item_foreign_mod.rs b/crates/marine-macro-impl/src/parse_macro_input/item_foreign_mod.rs index 0947f4f..8e75f66 100644 --- a/crates/marine-macro-impl/src/parse_macro_input/item_foreign_mod.rs +++ b/crates/marine-macro-impl/src/parse_macro_input/item_foreign_mod.rs @@ -36,11 +36,7 @@ impl ParseMacroInput for syn::ItemForeignMod { let imports = extract_import_functions(&self)?; check_imports(imports.iter().zip(self.items.iter().map(|i| i.span())))?; - let extern_mod_item = ast_types::AstExternMod { - namespace, - imports, - original: self, - }; + let extern_mod_item = ast_types::AstExternMod { namespace, imports }; Ok(MarineAst::ExternMod(extern_mod_item)) } }