From 6be9301a26fa6598808b09ea61c11ea4e002a8aa Mon Sep 17 00:00:00 2001 From: Steve Fan <29133953+stevefan1999-personal@users.noreply.github.com> Date: Thu, 25 Jun 2020 23:24:35 +0800 Subject: [PATCH 1/2] re-add core crates packages on no_std which is not imported --- src/error.rs | 3 +++ src/packages/array_basic.rs | 3 +++ src/packages/string_more.rs | 3 +++ 3 files changed, 9 insertions(+) diff --git a/src/error.rs b/src/error.rs index ce8615ed..9702a7e5 100644 --- a/src/error.rs +++ b/src/error.rs @@ -5,6 +5,9 @@ use crate::token::Position; use crate::stdlib::{boxed::Box, char, error::Error, fmt, string::String}; +#[cfg(feature = "no_std")] +use crate::alloc::string::ToString; + /// Error when tokenizing the script text. #[derive(Debug, Eq, PartialEq, Clone, Hash)] pub enum LexError { diff --git a/src/packages/array_basic.rs b/src/packages/array_basic.rs index 59358063..59b297a4 100644 --- a/src/packages/array_basic.rs +++ b/src/packages/array_basic.rs @@ -10,6 +10,9 @@ use crate::token::Position; use crate::stdlib::{any::TypeId, boxed::Box}; +#[cfg(feature = "no_std")] +use crate::alloc::string::ToString; + // Register array utility functions fn push(list: &mut Array, item: T) -> FuncReturn<()> { list.push(Dynamic::from(item)); diff --git a/src/packages/string_more.rs b/src/packages/string_more.rs index 46805750..73ae6e2d 100644 --- a/src/packages/string_more.rs +++ b/src/packages/string_more.rs @@ -10,6 +10,9 @@ use crate::utils::StaticVec; #[cfg(not(feature = "no_index"))] use crate::engine::Array; +#[cfg(feature = "no_std")] +use crate::alloc::boxed::Box; + use crate::stdlib::{ any::TypeId, fmt::Display, From 0bd636a66040a51f94d0ee263f197c0071fe5afe Mon Sep 17 00:00:00 2001 From: Steve Fan <19037626d@connect.polyu.hk> Date: Fri, 26 Jun 2020 00:40:01 +0800 Subject: [PATCH 2/2] speclatively use stdlib to have automatic no_std compatibility --- src/error.rs | 5 +---- src/packages/array_basic.rs | 5 +---- src/packages/string_more.rs | 4 +--- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/error.rs b/src/error.rs index 9702a7e5..16ea36bd 100644 --- a/src/error.rs +++ b/src/error.rs @@ -3,10 +3,7 @@ use crate::result::EvalAltResult; use crate::token::Position; -use crate::stdlib::{boxed::Box, char, error::Error, fmt, string::String}; - -#[cfg(feature = "no_std")] -use crate::alloc::string::ToString; +use crate::stdlib::{boxed::Box, char, error::Error, fmt, string::{String, ToString}}; /// Error when tokenizing the script text. #[derive(Debug, Eq, PartialEq, Clone, Hash)] diff --git a/src/packages/array_basic.rs b/src/packages/array_basic.rs index 59b297a4..d492f52f 100644 --- a/src/packages/array_basic.rs +++ b/src/packages/array_basic.rs @@ -8,10 +8,7 @@ use crate::parser::{ImmutableString, INT}; use crate::result::EvalAltResult; use crate::token::Position; -use crate::stdlib::{any::TypeId, boxed::Box}; - -#[cfg(feature = "no_std")] -use crate::alloc::string::ToString; +use crate::stdlib::{any::TypeId, boxed::Box, string::ToString}; // Register array utility functions fn push(list: &mut Array, item: T) -> FuncReturn<()> { diff --git a/src/packages/string_more.rs b/src/packages/string_more.rs index 73ae6e2d..a472c2dd 100644 --- a/src/packages/string_more.rs +++ b/src/packages/string_more.rs @@ -10,11 +10,9 @@ use crate::utils::StaticVec; #[cfg(not(feature = "no_index"))] use crate::engine::Array; -#[cfg(feature = "no_std")] -use crate::alloc::boxed::Box; - use crate::stdlib::{ any::TypeId, + boxed::Box, fmt::Display, format, string::{String, ToString},