Cargo Features

corosensei = { version = "0.1.4", default-features = false, features = ["default-stack", "unwind", "asm-unwind"] }
default = default-stack, unwind

These default features are set whenever corosensei is added without default-features = false somewhere in the dependency tree.

default-stack default = libc, windows-sys

Provide a DefaultStack implementation. Requires std.

unwind default asm-unwind?

Support propagating panics from coroutines back up to their callers. This feature also allows coroutines to be safely unwound when they are suspended.

asm-unwind = unwind

Use the may_unwind feature of inline assembly for unwinding. This is more efficient but is only available on nightly Rust.

Affects aarch64::switch_and_throw, arm::switch_and_throw, loongarch64::switch_and_throw, riscv::switch_and_throw, x86::switch_and_throw, x86_64::switch_and_throw

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features.

libc unix default-stack
windows-sys win default-stack

Enables windows-sys ^0.33.0