diff --git a/Cargo.toml b/Cargo.toml index 3e84e63..3ab4e31 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,6 +35,8 @@ std = [ ] # Enable for no_std support core = [ + # `core` doesn't support vec_memory + "vec_memory", "wasmi-validation/core", "libm" ] diff --git a/src/func.rs b/src/func.rs index 5cc4a15..1a95f1f 100644 --- a/src/func.rs +++ b/src/func.rs @@ -1,6 +1,7 @@ -#[allow(unused_imports)] -use alloc::prelude::v1::*; -use alloc::rc::{Rc, Weak}; +use alloc::{ + rc::{Rc, Weak}, + vec::Vec, +}; use core::fmt; use host::Externals; use isa; diff --git a/src/imports.rs b/src/imports.rs index 10c6a73..17f7a42 100644 --- a/src/imports.rs +++ b/src/imports.rs @@ -1,7 +1,4 @@ -#[allow(unused_imports)] -use alloc::prelude::v1::*; - -use alloc::collections::BTreeMap; +use alloc::{collections::BTreeMap, string::String}; use func::FuncRef; use global::GlobalRef; diff --git a/src/isa.rs b/src/isa.rs index fcb3905..1981706 100644 --- a/src/isa.rs +++ b/src/isa.rs @@ -67,8 +67,7 @@ //! - Reserved immediates are ignored for `call_indirect`, `current_memory`, `grow_memory`. //! -#[allow(unused_imports)] -use alloc::prelude::v1::*; +use alloc::vec::Vec; /// Should we keep a value before "discarding" a stack frame? /// diff --git a/src/lib.rs b/src/lib.rs index c403623..610723f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -96,8 +96,6 @@ #![warn(missing_docs)] #![cfg_attr(not(feature = "std"), no_std)] -//// alloc is required in no_std -#![cfg_attr(not(feature = "std"), feature(alloc, alloc_prelude))] #[cfg(not(feature = "std"))] #[macro_use] @@ -119,8 +117,11 @@ extern crate parity_wasm; extern crate wasmi_validation as validation; -#[allow(unused_imports)] -use alloc::prelude::v1::*; +use alloc::{ + boxed::Box, + string::{String, ToString}, + vec::Vec, +}; use core::fmt; #[cfg(feature = "std")] use std::error; diff --git a/src/memory/mod.rs b/src/memory/mod.rs index b2d2d8d..f438234 100644 --- a/src/memory/mod.rs +++ b/src/memory/mod.rs @@ -1,6 +1,4 @@ -#[allow(unused_imports)] -use alloc::prelude::v1::*; -use alloc::rc::Rc; +use alloc::{rc::Rc, string::ToString, vec::Vec}; use core::{ cell::{Cell, RefCell}, cmp, fmt, diff --git a/src/memory/vec_bytebuf.rs b/src/memory/vec_bytebuf.rs index bc5595d..b51c10d 100644 --- a/src/memory/vec_bytebuf.rs +++ b/src/memory/vec_bytebuf.rs @@ -1,6 +1,6 @@ //! An implementation of `ByteBuf` based on a plain `Vec`. -use alloc::prelude::v1::*; +use alloc::vec::Vec; pub struct ByteBuf { buf: Vec, diff --git a/src/module.rs b/src/module.rs index dbcbc99..493cf30 100644 --- a/src/module.rs +++ b/src/module.rs @@ -1,6 +1,9 @@ -#[allow(unused_imports)] -use alloc::prelude::v1::*; -use alloc::rc::Rc; +use alloc::{ + borrow::ToOwned, + rc::Rc, + string::{String, ToString}, + vec::Vec, +}; use core::cell::RefCell; use core::fmt; use Trap; diff --git a/src/nan_preserving_float.rs b/src/nan_preserving_float.rs index e63d476..994c91a 100644 --- a/src/nan_preserving_float.rs +++ b/src/nan_preserving_float.rs @@ -1,8 +1,5 @@ #![allow(missing_docs)] -#[cfg(not(feature = "std"))] -use libm::{F32Ext, F64Ext}; - use core::cmp::{Ordering, PartialEq, PartialOrd}; use core::ops::{Add, Div, Mul, Neg, Rem, Sub}; diff --git a/src/prepare/compile.rs b/src/prepare/compile.rs index 1292772..233ea65 100644 --- a/src/prepare/compile.rs +++ b/src/prepare/compile.rs @@ -1,5 +1,4 @@ -#[allow(unused_imports)] -use alloc::prelude::v1::*; +use alloc::{string::String, vec::Vec}; use parity_wasm::elements::{BlockType, FuncBody, Instruction}; diff --git a/src/prepare/mod.rs b/src/prepare/mod.rs index 874eeb8..f0d4d34 100644 --- a/src/prepare/mod.rs +++ b/src/prepare/mod.rs @@ -1,5 +1,4 @@ -#[allow(unused_imports)] -use alloc::prelude::v1::*; +use alloc::vec::Vec; use crate::{ isa, diff --git a/src/runner.rs b/src/runner.rs index b969116..bcc1853 100644 --- a/src/runner.rs +++ b/src/runner.rs @@ -1,5 +1,4 @@ -#[allow(unused_imports)] -use alloc::prelude::v1::*; +use alloc::{boxed::Box, vec::Vec}; use core::fmt; use core::ops; use core::{u32, usize}; diff --git a/src/table.rs b/src/table.rs index 63b633f..479912b 100644 --- a/src/table.rs +++ b/src/table.rs @@ -1,6 +1,4 @@ -#[allow(unused_imports)] -use alloc::prelude::v1::*; -use alloc::rc::Rc; +use alloc::{rc::Rc, vec::Vec}; use core::cell::RefCell; use core::fmt; use core::u32; diff --git a/validation/src/context.rs b/validation/src/context.rs index e7de32b..619e5c7 100644 --- a/validation/src/context.rs +++ b/validation/src/context.rs @@ -1,6 +1,5 @@ use crate::Error; -#[allow(unused_imports)] -use alloc::prelude::v1::*; +use alloc::vec::Vec; use parity_wasm::elements::{ BlockType, FunctionType, GlobalType, MemoryType, TableType, ValueType, }; diff --git a/validation/src/func.rs b/validation/src/func.rs index 23e72f4..654bdbd 100644 --- a/validation/src/func.rs +++ b/validation/src/func.rs @@ -1,6 +1,3 @@ -#[allow(unused_imports)] -use alloc::prelude::v1::*; - use crate::{ context::ModuleContext, stack::StackWithLimit, util::Locals, Error, FuncValidator, DEFAULT_MEMORY_INDEX, DEFAULT_TABLE_INDEX, diff --git a/validation/src/lib.rs b/validation/src/lib.rs index 4815b0a..72e9ef7 100644 --- a/validation/src/lib.rs +++ b/validation/src/lib.rs @@ -2,8 +2,6 @@ // #![warn(missing_docs)] #![cfg_attr(not(feature = "std"), no_std)] -//// alloc is required in no_std -#![cfg_attr(not(feature = "std"), feature(alloc, alloc_prelude))] #[cfg(not(feature = "std"))] #[macro_use] @@ -21,8 +19,7 @@ pub const DEFAULT_TABLE_INDEX: u32 = 0; /// Maximal number of pages that a wasm instance supports. pub const LINEAR_MEMORY_MAX_PAGES: u32 = 65536; -#[allow(unused_imports)] -use alloc::prelude::v1::*; +use alloc::{string::String, vec::Vec}; use core::fmt; #[cfg(feature = "std")] use std::error; diff --git a/validation/src/stack.rs b/validation/src/stack.rs index 6f1166a..60e62da 100644 --- a/validation/src/stack.rs +++ b/validation/src/stack.rs @@ -1,5 +1,4 @@ -#[allow(unused_imports)] -use alloc::prelude::v1::*; +use alloc::{string::String, vec::Vec}; use core::fmt; #[cfg(feature = "std")] diff --git a/validation/src/util.rs b/validation/src/util.rs index 5f320e9..2c44a4e 100644 --- a/validation/src/util.rs +++ b/validation/src/util.rs @@ -1,6 +1,5 @@ use crate::Error; -#[allow(unused_imports)] -use alloc::prelude::v1::*; +use alloc::string::String; use parity_wasm::elements::{Local, ValueType}; #[cfg(test)]