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 default-features = false somewhere in the dependency tree.

std default = alloc, fs

Provide a std-like API.

Enables stdio of rustix

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.

Enables alloc of origin

thread default = rustix-futex-sync

Support threads

Enables thread of origin

Affects origin-studio::sync, origin-studio::thread

fs std

Enable highly experimental filesystem API support.

Enables fs of rustix

Affects origin-studio::fs

log

Enable debug logging.

Enables log of origin

stack-overflow default

Enable Rust's stack overflow reporting code.

Enables thread of origin, mm and param of rustix

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 returns CONTINUE_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