From 1b0ed1b383b290210820ae4d8b9d3eb48d8367f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Thei=C3=9Fen?= Date: Wed, 26 May 2021 14:42:53 +0200 Subject: [PATCH 1/2] Transition to Rust 2018 style imports --- cli/build/main.rs | 14 +++----------- cli/build/source.rs | 2 +- cli/check/main.rs | 4 ---- cli/ext/main.rs | 13 +++---------- cli/gas/main.rs | 5 +---- cli/pack/main.rs | 6 +----- cli/prune/main.rs | 6 +----- cli/stack_height/main.rs | 6 +----- examples/opt_imports.rs | 4 +--- src/gas/mod.rs | 7 ++----- src/graph.rs | 4 +--- src/lib.rs | 9 +-------- src/logger.rs | 2 +- src/optimizer.rs | 2 +- src/pack.rs | 2 -- src/stack_height/max_height.rs | 2 +- src/stack_height/mod.rs | 1 - src/symbols.rs | 1 + tests/diff.rs | 6 +----- 19 files changed, 21 insertions(+), 75 deletions(-) diff --git a/cli/build/main.rs b/cli/build/main.rs index f374d15..35fdbaf 100644 --- a/cli/build/main.rs +++ b/cli/build/main.rs @@ -1,20 +1,14 @@ //! Experimental build tool for cargo -#[macro_use] -extern crate clap; -extern crate glob; -extern crate pwasm_utils as utils; -extern crate parity_wasm; -use pwasm_utils::logger; +use pwasm_utils::{build, BuildError, SourceTarget, TargetRuntime, logger}; mod source; use std::{fs, io}; use std::path::PathBuf; -use clap::{App, Arg}; +use clap::{App, Arg, crate_version}; use parity_wasm::elements; -use utils::{build, BuildError, SourceTarget, TargetRuntime}; #[derive(Debug)] pub enum Error { @@ -210,9 +204,7 @@ fn main() { #[cfg(test)] mod tests { - extern crate tempdir; - - use self::tempdir::TempDir; + use tempdir::TempDir; use std::fs; use super::process_output; diff --git a/cli/build/source.rs b/cli/build/source.rs index 5583da9..0f7bbc3 100644 --- a/cli/build/source.rs +++ b/cli/build/source.rs @@ -3,7 +3,7 @@ pub const UNKNOWN_TRIPLET: &str = "wasm32-unknown-unknown"; pub const EMSCRIPTEN_TRIPLET: &str = "wasm32-unknown-emscripten"; -use utils::SourceTarget; +use pwasm_utils::SourceTarget; /// Configuration of previous build step (cargo compilation) #[derive(Debug)] diff --git a/cli/check/main.rs b/cli/check/main.rs index 7c95c7b..be6d5e5 100644 --- a/cli/check/main.rs +++ b/cli/check/main.rs @@ -1,8 +1,4 @@ -extern crate parity_wasm; -extern crate pwasm_utils as utils; use pwasm_utils::logger; -extern crate clap; - use clap::{App, Arg}; use parity_wasm::elements; diff --git a/cli/ext/main.rs b/cli/ext/main.rs index aabb13c..72d51d6 100644 --- a/cli/ext/main.rs +++ b/cli/ext/main.rs @@ -1,20 +1,13 @@ -extern crate parity_wasm; -extern crate pwasm_utils as utils; -use pwasm_utils::logger; - -use std::env; - fn main() { + pwasm_utils::logger::init(); - logger::init(); - - let args = env::args().collect::>(); + let args = std::env::args().collect::>(); if args.len() != 3 { println!("Usage: {} input_file.wasm output_file.wasm", args[0]); return; } - let module = utils::externalize( + let module = pwasm_utils::externalize( parity_wasm::deserialize_file(&args[1]).expect("Module to deserialize ok"), vec!["_free", "_malloc", "_memcpy", "_memset", "_memmove"], ); diff --git a/cli/gas/main.rs b/cli/gas/main.rs index 6ec45ee..785c598 100644 --- a/cli/gas/main.rs +++ b/cli/gas/main.rs @@ -1,7 +1,4 @@ -extern crate parity_wasm; -extern crate pwasm_utils as utils; -use pwasm_utils::logger; - +use pwasm_utils::{self as utils, logger}; use std::env; fn main() { diff --git a/cli/pack/main.rs b/cli/pack/main.rs index f96219b..ab2baab 100644 --- a/cli/pack/main.rs +++ b/cli/pack/main.rs @@ -1,8 +1,4 @@ -extern crate parity_wasm; -extern crate pwasm_utils as utils; -use pwasm_utils::logger; -extern crate clap; - +use pwasm_utils::{self as utils, logger}; use clap::{App, Arg}; fn main() { diff --git a/cli/prune/main.rs b/cli/prune/main.rs index d4fcd41..b6c99c7 100644 --- a/cli/prune/main.rs +++ b/cli/prune/main.rs @@ -1,8 +1,4 @@ -extern crate parity_wasm; -extern crate pwasm_utils as utils; -use pwasm_utils::logger; -extern crate clap; - +use pwasm_utils::{self as utils, logger}; use clap::{App, Arg}; fn main() { diff --git a/cli/stack_height/main.rs b/cli/stack_height/main.rs index 1b6842a..e20f002 100644 --- a/cli/stack_height/main.rs +++ b/cli/stack_height/main.rs @@ -1,9 +1,5 @@ -extern crate pwasm_utils as utils; -extern crate parity_wasm; -use pwasm_utils::logger; - +use pwasm_utils::{logger, stack_height}; use std::env; -use utils::stack_height; fn main() { logger::init(); diff --git a/examples/opt_imports.rs b/examples/opt_imports.rs index c17f356..096f7bd 100644 --- a/examples/opt_imports.rs +++ b/examples/opt_imports.rs @@ -1,5 +1,3 @@ -extern crate pwasm_utils as utils; - use std::env; fn main() { @@ -10,7 +8,7 @@ fn main() { } // Loading module - let mut module = utils::Module::from_elements( + let mut module = pwasm_utils::Module::from_elements( &parity_wasm::deserialize_file(&args[1]).expect("Module deserialization to succeed") ).expect("Failed to parse parity-wasm format"); diff --git a/src/gas/mod.rs b/src/gas/mod.rs index b34f6ac..b31eb99 100644 --- a/src/gas/mod.rs +++ b/src/gas/mod.rs @@ -512,9 +512,6 @@ pub fn inject_gas_counter( #[cfg(test)] mod tests { - - extern crate wabt; - use parity_wasm::{serialize, builder, elements}; use parity_wasm::elements::Instruction::*; use super::*; @@ -578,7 +575,7 @@ mod tests { ); let binary = serialize(injected_module).expect("serialization failed"); - self::wabt::wasm2wat(&binary).unwrap(); + wabt::wasm2wat(&binary).unwrap(); } #[test] @@ -617,7 +614,7 @@ mod tests { assert_eq!(injected_module.functions_space(), 2); let binary = serialize(injected_module).expect("serialization failed"); - self::wabt::wasm2wat(&binary).unwrap(); + wabt::wasm2wat(&binary).unwrap(); } #[test] diff --git a/src/graph.rs b/src/graph.rs index 41c4665..b675169 100644 --- a/src/graph.rs +++ b/src/graph.rs @@ -771,10 +771,8 @@ pub fn generate(f: &Module) -> Result, Error> { #[cfg(test)] mod tests { - - extern crate wabt; - use parity_wasm::elements; + use indoc::indoc; fn load_sample(wat: &'static str) -> super::Module { super::parse(&wabt::wat2wasm(wat).expect("faled to parse wat!")[..]) diff --git a/src/lib.rs b/src/lib.rs index 08bd80c..b1143f5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -4,14 +4,6 @@ #[macro_use] extern crate alloc; -extern crate byteorder; -extern crate parity_wasm; -#[macro_use] extern crate log; -#[cfg(test)] #[macro_use] extern crate indoc; -#[cfg(test)] extern crate rand; -#[cfg(test)] extern crate binaryen; - - pub mod rules; mod build; @@ -43,6 +35,7 @@ pub use ref_list::{RefList, Entry, EntryRef, DeleteTransaction}; #[cfg(feature = "std")] pub use export_globals::export_mutable_globals; pub use parity_wasm::elements::Instruction; +use parity_wasm; pub struct TargetSymbols { pub create: &'static str, diff --git a/src/logger.rs b/src/logger.rs index ce8187e..0854be8 100644 --- a/src/logger.rs +++ b/src/logger.rs @@ -1,4 +1,4 @@ -use log::LevelFilter; +use log::{LevelFilter, trace}; use env_logger::Builder; use lazy_static::lazy_static; diff --git a/src/optimizer.rs b/src/optimizer.rs index 86fc8b0..2d7b429 100644 --- a/src/optimizer.rs +++ b/src/optimizer.rs @@ -5,8 +5,8 @@ use crate::std::collections::{BTreeSet as Set}; use crate::std::vec::Vec; use crate::std::mem; +use log::trace; use parity_wasm::elements; - use crate::symbols::{Symbol, expand_symbols, push_code_symbols, resolve_function}; #[derive(Debug)] diff --git a/src/pack.rs b/src/pack.rs index 6ea5eff..5472961 100644 --- a/src/pack.rs +++ b/src/pack.rs @@ -218,8 +218,6 @@ pub fn pack_instance(raw_module: Vec, mut ctor_module: elements::Module, tar #[cfg(test)] mod test { - extern crate parity_wasm; - use parity_wasm::builder; use super::*; use super::super::optimize; diff --git a/src/stack_height/max_height.rs b/src/stack_height/max_height.rs index 1bcf46b..2713fcf 100644 --- a/src/stack_height/max_height.rs +++ b/src/stack_height/max_height.rs @@ -1,5 +1,6 @@ use crate::std::vec::Vec; +use log::trace; use parity_wasm::elements::{self, BlockType, Type}; use super::{resolve_func_type, Error}; @@ -428,7 +429,6 @@ pub(crate) fn compute(func_idx: u32, module: &elements::Module) -> Result>(path: P) -> io::Result> { let mut f = fs::File::open(path)?; From 95a711bc335d343c6bab1d0a1b86f2fb02be4f76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Thei=C3=9Fen?= Date: Wed, 26 May 2021 15:05:02 +0200 Subject: [PATCH 2/2] Re-export the whole parity_wasm crate --- Cargo.toml | 2 +- src/lib.rs | 3 +-- src/rules.rs | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 0fafecc..09c38b5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pwasm-utils" -version = "0.17.2" +version = "0.18.0" edition = "2018" authors = ["Nikolay Volf ", "Sergey Pepyakin "] license = "MIT/Apache-2.0" diff --git a/src/lib.rs b/src/lib.rs index b1143f5..0a55ec0 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -34,8 +34,7 @@ pub use graph::{Module, parse as graph_parse, generate as graph_generate}; pub use ref_list::{RefList, Entry, EntryRef, DeleteTransaction}; #[cfg(feature = "std")] pub use export_globals::export_mutable_globals; -pub use parity_wasm::elements::Instruction; -use parity_wasm; +pub use parity_wasm; pub struct TargetSymbols { pub create: &'static str, diff --git a/src/rules.rs b/src/rules.rs index 3f83f6e..b277fbe 100644 --- a/src/rules.rs +++ b/src/rules.rs @@ -5,7 +5,7 @@ use crate::std::collections::BTreeMap as Map; use crate::std::num::NonZeroU32; use crate::std::str::FromStr; -use crate::Instruction; +use parity_wasm::elements::Instruction; pub struct UnknownInstruction;