The Number trait in the eval crate is a crutch necessary to get conversions for native fn args working. (Without this trait, the type param T in Value<T> cannot be distinguished from other "fundamental" types, such as bool, Vec or tuples.) This trait is the only reason the eval crate depends on num-complex (and will depend on num-bigint once #42 is implemented). Unfortunately, it's not quite clear how to cleanly get rid of Number.
The
Numbertrait in the eval crate is a crutch necessary to get conversions for native fn args working. (Without this trait, the type paramTinValue<T>cannot be distinguished from other "fundamental" types, such asbool,Vecor tuples.) This trait is the only reason the eval crate depends onnum-complex(and will depend onnum-bigintonce #42 is implemented). Unfortunately, it's not quite clear how to cleanly get rid ofNumber.