$ cargo tree glsp v0.1.0 +-- glsp-engine v0.1.0 | +-- fnv v1.0.7 | +-- owning_ref v0.4.1 | | +-- stable_deref_trait v1.1.1 | +-- smallvec v1.4.0 +-- glsp-proc-macros v0.1.0 | +-- glsp-engine v0.1.0 (*) +-- glsp-stdlib v0.1.0 +-- glsp-engine v0.1.0 (*) +-- glsp-proc-macros v0.1.0 (*) +-- smallvec v1.4.0 (*)
All large or non-essential dependencies are feature-gated, and all features are disabled by default.
glsp's implementation doesn't use any
unsafe code at all. This is guaranteed
"unsafe-internals" feature enabled, a small amount of unsafe code is switched on in
glsp-engine crate. This makes the interpreter run roughly twice as
glsp's public API is always intended to be safe, even when the
feature is enabled. The purpose of this feature flag is to mitigate the safety impact of any
undetected bugs which are internal to the
glsp may depend on crates which themselves use
internally - currently
owning_ref and optionally
bincode. As usual,
you shouldn't trust this crate's safety unless you also trust its dependencies.
Sym. Note that the serializer will gracefully fail if it encounters a non-representable
type, or a type which contains reference cycles. Gensyms and textually-ambiguous
symbols can be serialized and deserialized, even though they're not representable.
This feature flag enables GameLisp source code to be pre-compiled into an efficient binary
format. Provides the
eval! macros, and the
glsp::load_compiled functions. See the Compilation chapter for