Cargo Features

[dependencies]
try-drop = { version = "0.2.0", default-features = false, features = ["std", "std-default", "global", "thread-local", "derives", "drop-strategies", "std-drop-strategies", "ds-abort", "ds-broadcast", "ds-exit", "ds-noop", "ds-panic", "ds-write", "ds-adhoc-mut", "ds-adhoc", "ds-once-cell", "ds-unreachable-unsafe", "ds-unreachable", "shrinkwraprs", "rand"] }
default = derives, downcast-rs, drop-strategies, shrinkwraprs, std-default

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

std ds-abort? ds-broadcast? ds-exit? ds-once-cell? ds-write? global? std-default thread-local?

Enables std of anyhow and downcast-rs

std-default default = global, std, std-drop-strategies, thread-local
global std-default = once_cell, parking_lot, std

Affects common::global, fallback::global, fns::install_global_handlers, fns::install_global_handlers_dyn, fns::uninstall_globally, primary::global, try-drop::GlobalDynFallibleTryDropStrategy, try-drop::GlobalTryDropStrategy, fallback::shim, handlers::on_uninit, primary::shim, try-drop::handlers, try-drop::ImpureTryDrop, try-drop::GlobalDynFallibleTryDropStrategy, try-drop::GlobalTryDropStrategy

thread-local std-default = once_cell, std

Affects common::thread_local, fallback::thread_local, fns::install_thread_local_handlers, fns::install_thread_local_handlers_dyn, fns::install_thread_local_handlers_for_this_scope, fns::install_thread_local_handlers_for_this_scope_dyn, fns::uninstall_for_thread, primary::thread_local, try-drop::ThreadLocalFallibleTryDropStrategy, try-drop::ThreadLocalTryDropStrategy, fallback::shim, handlers::on_uninit, primary::shim, try-drop::handlers, try-drop::ImpureTryDrop

derives default
drop-strategies default = ds-abort, ds-broadcast, ds-exit, ds-once-cell, ds-write, std-drop-strategies
std-drop-strategies drop-strategies std-default = ds-adhoc-mut, ds-noop, ds-panic
ds-abort drop-strategies = std
ds-broadcast drop-strategies = std, tokio

Affects drop_strategies::broadcast

ds-exit drop-strategies = std
ds-noop std-drop-strategies?
ds-panic std-drop-strategies?

Affects fallback::DefaultOnUninit

ds-write drop-strategies = parking_lot, std

Affects primary::DefaultOnUninit

ds-adhoc-mut std-drop-strategies? = ds-adhoc
ds-adhoc ds-adhoc-mut?
ds-once-cell drop-strategies = once_cell, std

Affects drop_strategies::once_cell

ds-unreachable-unsafe = ds-unreachable

Affects unreachable::Unsafe

ds-unreachable ds-unreachable-unsafe?

Affects drop_strategies::unreachable

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.

downcast-rs default std?

Affects try-drop::GlobalDynFallibleTryDropStrategy, try-drop::GlobalTryDropStrategy

once_cell ds-once-cell? global? thread-local?
parking_lot ds-write? global?
shrinkwraprs default
tokio ds-broadcast?
rand implicit feature

Enables rand

rand:

Random number generators and other randomness functionality