Fix builds.
This commit is contained in:
parent
694ac5b5bd
commit
4adc044c79
@ -508,6 +508,8 @@ impl Hash for Dynamic {
|
|||||||
Union::Int(ref i, _, _) => i.hash(state),
|
Union::Int(ref i, _, _) => i.hash(state),
|
||||||
#[cfg(not(feature = "no_float"))]
|
#[cfg(not(feature = "no_float"))]
|
||||||
Union::Float(ref f, _, _) => f.hash(state),
|
Union::Float(ref f, _, _) => f.hash(state),
|
||||||
|
#[cfg(feature = "decimal")]
|
||||||
|
Union::Decimal(ref d, _, _) => d.hash(state),
|
||||||
#[cfg(not(feature = "no_index"))]
|
#[cfg(not(feature = "no_index"))]
|
||||||
Union::Array(ref a, _, _) => a.as_ref().hash(state),
|
Union::Array(ref a, _, _) => a.as_ref().hash(state),
|
||||||
#[cfg(not(feature = "no_object"))]
|
#[cfg(not(feature = "no_object"))]
|
||||||
@ -522,46 +524,50 @@ impl Hash for Dynamic {
|
|||||||
#[cfg(feature = "sync")]
|
#[cfg(feature = "sync")]
|
||||||
Union::Shared(ref cell, _, _) => (*cell.read().unwrap()).hash(state),
|
Union::Shared(ref cell, _, _) => (*cell.read().unwrap()).hash(state),
|
||||||
|
|
||||||
#[cfg(not(feature = "only_i32"))]
|
Union::Variant(ref _value, _, _) => {
|
||||||
#[cfg(not(feature = "only_i64"))]
|
#[cfg(not(feature = "only_i32"))]
|
||||||
Union::Variant(ref value, _, _) => {
|
#[cfg(not(feature = "only_i64"))]
|
||||||
let value_any = (***value).as_any();
|
{
|
||||||
let type_id = value_any.type_id();
|
let value_any = (***_value).as_any();
|
||||||
|
let type_id = value_any.type_id();
|
||||||
|
|
||||||
if type_id == TypeId::of::<u8>() {
|
if type_id == TypeId::of::<u8>() {
|
||||||
TypeId::of::<u8>().hash(state);
|
TypeId::of::<u8>().hash(state);
|
||||||
value_any.downcast_ref::<u8>().expect(CHECKED).hash(state);
|
value_any.downcast_ref::<u8>().expect(CHECKED).hash(state);
|
||||||
} else if type_id == TypeId::of::<u16>() {
|
} else if type_id == TypeId::of::<u16>() {
|
||||||
TypeId::of::<u16>().hash(state);
|
TypeId::of::<u16>().hash(state);
|
||||||
value_any.downcast_ref::<u16>().expect(CHECKED).hash(state);
|
value_any.downcast_ref::<u16>().expect(CHECKED).hash(state);
|
||||||
} else if type_id == TypeId::of::<u32>() {
|
} else if type_id == TypeId::of::<u32>() {
|
||||||
TypeId::of::<u32>().hash(state);
|
TypeId::of::<u32>().hash(state);
|
||||||
value_any.downcast_ref::<u32>().expect(CHECKED).hash(state);
|
value_any.downcast_ref::<u32>().expect(CHECKED).hash(state);
|
||||||
} else if type_id == TypeId::of::<u64>() {
|
} else if type_id == TypeId::of::<u64>() {
|
||||||
TypeId::of::<u64>().hash(state);
|
TypeId::of::<u64>().hash(state);
|
||||||
value_any.downcast_ref::<u64>().expect(CHECKED).hash(state);
|
value_any.downcast_ref::<u64>().expect(CHECKED).hash(state);
|
||||||
} else if type_id == TypeId::of::<i8>() {
|
} else if type_id == TypeId::of::<i8>() {
|
||||||
TypeId::of::<i8>().hash(state);
|
TypeId::of::<i8>().hash(state);
|
||||||
value_any.downcast_ref::<i8>().expect(CHECKED).hash(state);
|
value_any.downcast_ref::<i8>().expect(CHECKED).hash(state);
|
||||||
} else if type_id == TypeId::of::<i16>() {
|
} else if type_id == TypeId::of::<i16>() {
|
||||||
TypeId::of::<i16>().hash(state);
|
TypeId::of::<i16>().hash(state);
|
||||||
value_any.downcast_ref::<i16>().expect(CHECKED).hash(state);
|
value_any.downcast_ref::<i16>().expect(CHECKED).hash(state);
|
||||||
} else if type_id == TypeId::of::<i32>() {
|
} else if type_id == TypeId::of::<i32>() {
|
||||||
TypeId::of::<i32>().hash(state);
|
TypeId::of::<i32>().hash(state);
|
||||||
value_any.downcast_ref::<i32>().expect(CHECKED).hash(state);
|
value_any.downcast_ref::<i32>().expect(CHECKED).hash(state);
|
||||||
} else if type_id == TypeId::of::<i64>() {
|
} else if type_id == TypeId::of::<i64>() {
|
||||||
TypeId::of::<i64>().hash(state);
|
TypeId::of::<i64>().hash(state);
|
||||||
value_any.downcast_ref::<i64>().expect(CHECKED).hash(state);
|
value_any.downcast_ref::<i64>().expect(CHECKED).hash(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))]
|
||||||
|
if type_id == TypeId::of::<u128>() {
|
||||||
|
TypeId::of::<u128>().hash(state);
|
||||||
|
value_any.downcast_ref::<u128>().expect(CHECKED).hash(state);
|
||||||
|
} else if type_id == TypeId::of::<i128>() {
|
||||||
|
TypeId::of::<i128>().hash(state);
|
||||||
|
value_any.downcast_ref::<i128>().expect(CHECKED).hash(state);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))]
|
unimplemented!("a custom type cannot be hashed")
|
||||||
if type_id == TypeId::of::<u128>() {
|
|
||||||
TypeId::of::<u128>().hash(state);
|
|
||||||
value_any.downcast_ref::<u128>().expect(CHECKED).hash(state);
|
|
||||||
} else if type_id == TypeId::of::<i128>() {
|
|
||||||
TypeId::of::<i128>().hash(state);
|
|
||||||
value_any.downcast_ref::<i128>().expect(CHECKED).hash(state);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(feature = "no_std"))]
|
#[cfg(not(feature = "no_std"))]
|
||||||
|
@ -669,6 +669,7 @@ impl EvalState {
|
|||||||
scope_level: 0,
|
scope_level: 0,
|
||||||
operations: 0,
|
operations: 0,
|
||||||
modules: 0,
|
modules: 0,
|
||||||
|
#[cfg(not(feature = "no_module"))]
|
||||||
resolver: None,
|
resolver: None,
|
||||||
fn_resolution_caches: Vec::new(),
|
fn_resolution_caches: Vec::new(),
|
||||||
}
|
}
|
||||||
|
@ -173,6 +173,10 @@ mod number_formatting {
|
|||||||
pub fn int_to_octal(value: INT) -> ImmutableString {
|
pub fn int_to_octal(value: INT) -> ImmutableString {
|
||||||
to_octal(value)
|
to_octal(value)
|
||||||
}
|
}
|
||||||
|
#[rhai_fn(name = "to_binary")]
|
||||||
|
pub fn int_to_binary(value: INT) -> ImmutableString {
|
||||||
|
to_binary(value)
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(not(feature = "only_i32"))]
|
#[cfg(not(feature = "only_i32"))]
|
||||||
#[cfg(not(feature = "only_i64"))]
|
#[cfg(not(feature = "only_i64"))]
|
||||||
|
Loading…
Reference in New Issue
Block a user