[package] name = "try-drop" version = "0.2.0" edition = "2021" description = "Batteries included error handling mechanisms for drops which can fail" license = "MIT" repository = "https://github.com/ALinuxPerson/try-drop" keywords = ["drop", "error", "library", "batteries-included", "utilities"] categories = ["no-std", "rust-patterns"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] anyhow = { version = "1.0.53", default-features = false } downcast-rs = { version = "1.2.0", default-features = false, optional = true } once_cell = { version = "1.9.0", optional = true } parking_lot = { version = "0.12.0", optional = true } shrinkwraprs = { version = "0.3.0", default-features = false, optional = true } tokio = { version = "1.16.1", features = ["sync", "rt"], default-features = false, optional = true } rand = { version = "0.8.4", default-features = false, features = ["std", "std_rng"], optional = true } [lib] doctest = false [features] default = ["downcast-rs", "shrinkwraprs", "derives", "drop-strategies", "std-default"] std-default = ["std", "global", "std-drop-strategies", "thread-local"] global = ["std", "once_cell", "parking_lot"] thread-local = ["std", "once_cell"] std = ["anyhow/std", "downcast-rs/std"] derives = [] drop-strategies = ["ds-abort", "ds-broadcast", "ds-exit", "ds-write", "ds-once-cell", "std-drop-strategies"] std-drop-strategies = ["ds-noop", "ds-panic", "ds-adhoc-mut"] ds-abort = ["std"] ds-broadcast = ["tokio", "std"] ds-exit = ["std"] ds-noop = [] ds-panic = [] ds-write = ["std", "parking_lot"] ds-adhoc-mut = ["ds-adhoc"] ds-adhoc = [] ds-once-cell = ["std", "once_cell"] ds-unreachable-unsafe = ["ds-unreachable"] ds-unreachable = [] __tests = ["std", "rand"] [dev-dependencies] rand = { version = "0.8.4", default-features = false, features = ["std", "std_rng"] } tokio = { version = "1.16.1", features = ["rt-multi-thread"], default-features = false }