Fix serde feature.

This commit is contained in:
Stephen Chung 2020-12-22 15:27:27 +08:00
parent 10da4d8976
commit 206400b187
2 changed files with 9 additions and 9 deletions

View File

@ -178,7 +178,9 @@ impl Engine {
// Search for the native function
// First search registered functions (can override packages)
// Then search packages
// lib.get_fn(hash_fn, pub_only)
// Finally search modules
//lib.get_fn(hash_fn, pub_only)
let f = self
.global_namespace
.get_fn(hash_fn, pub_only)
@ -211,17 +213,16 @@ impl Engine {
// See if the function match print/debug (which requires special processing)
return Ok(match fn_name {
KEYWORD_PRINT => (
(self.print)(result.as_str().map_err(|typ| {
KEYWORD_PRINT => {
let text = result.as_str().map_err(|typ| {
EvalAltResult::ErrorMismatchOutputType(
self.map_type_name(type_name::<ImmutableString>()).into(),
typ.into(),
pos,
)
})?)
.into(),
false,
),
})?;
((self.print)(text).into(), false)
}
KEYWORD_DEBUG => {
let text = result.as_str().map_err(|typ| {
EvalAltResult::ErrorMismatchOutputType(

View File

@ -3,7 +3,7 @@
use super::str::ImmutableStringDeserializer;
use crate::dynamic::Union;
use crate::stdlib::{any::type_name, boxed::Box, fmt, string::ToString};
use crate::{Dynamic, EvalAltResult, ImmutableString, LexError, ParseErrorType, Position};
use crate::{Dynamic, EvalAltResult, ImmutableString, LexError, Position};
use serde::de::{
DeserializeSeed, Deserializer, Error, IntoDeserializer, MapAccess, SeqAccess, Visitor,
};
@ -122,7 +122,6 @@ impl Error for Box<EvalAltResult> {
LexError::ImproperSymbol("".to_string(), err.to_string())
.into_err(Position::NONE)
.into()
.into()
}
}