Cargo Features
[dependencies]
origin-studio = { version = "0.14.0", default-features = false, features = ["std", "alloc", "thread", "fs", "log", "stack-overflow", "experimental-relocate", "eh-personality", "eh-personality-continue", "panic-handler", "panic-handler-trap", "atomic-dbg"] }
- default = eh-personality, panic-handler, stack-overflow, std, thread
-
These default features are set whenever
origin-studio
is added without
somewhere in the dependency tree.default-features = false - std default = alloc, fs
-
Provide a
std
-like API.Affects
origin-studio::env
,origin-studio::io
,origin-studio::prelude
,origin-studio::sync
,origin-studio::thread
,origin-studio::fs
… - alloc std = rustix-dlmalloc
-
Provide the
alloc
API. - thread default = rustix-futex-sync
-
Support threads
Affects
origin-studio::sync
,origin-studio::thread
… - fs std
-
Enable highly experimental filesystem API support.
Affects
origin-studio::fs
… - log
-
Enable debug logging.
- stack-overflow default
-
Enable Rust's stack overflow reporting code.
- experimental-relocate
-
Enable highly experimental support for performing startup-time relocations,
needed to support statically-linked PIE executables.Enables experimental-relocate of origin
- eh-personality default
-
Provide a
#[lang = eh_personality]
function suitable for unwinding (for no-std).If you know your program never unwinds and want smaller code size, use "eh-personality-continue" instead.
This is only needed in no-std builds, as std provides a personality. See the "personality" feature of the unwinding crate for more details.
Enables eh-personality of origin
- eh-personality-continue
-
Provide a
#[lang = eh_personality]
function that just returnsCONTINUE_UNWIND
(for no-std). Use this if you know your program will never unwind and don't want any extra code.Enables eh-personality-continue of origin
- panic-handler default
-
Provide a
#[panic_handler]
function suitable for unwinding (for no-std).If you know your program never panics and want smaller code size, use "panic-handler-trap" instead.
This is only needed in no-std builds, as std provides a panic handler. See the "panic-handler" feature of the unwinding crate for more details.
Enables panic-handler of origin
- panic-handler-trap
-
Provide a
#[panic_handler]
function that just traps (for no-std). Use this if you know your program will never panic and don't want any extra code.Enables panic-handler-trap of origin
Features from optional dependencies
In crates that don't use the dep:
syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- rustix fs? stack-overflow std
- rustix-dlmalloc alloc?
- rustix-futex-sync thread
- atomic-dbg implicit feature
-
Enables atomic-dbg
atomic-dbg:
Atomic
dbg
/eprintln
/eprint
macros