[package]
name = "iart"
edition.workspace = true
version.workspace = true
authors.workspace = true
description.workspace = true
repository.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true
readme = "../README.md"

[dependencies]
iart-core = { workspace = true }
iart-macros = { workspace = true }

[features]
default = ["std", "allow-backtrace-logging", "check-unused-result", "enable-default-handler"]

nightly = [
    "for-nightly-likely-optimization",
    "for-nightly-try-support",
    "for-nightly-allocator-api-support",
    "for-nightly-error-generic-member-access"
]

std = ["iart-core/std", "alloc"]

allow-backtrace-logging-with-ok = ["allow-backtrace-logging", "iart-core/allow-backtrace-logging-with-ok"]

check-unused-result-with-ok = ["check-unused-result", "iart-core/check-unused-result-with-ok"]
danger-allow-panic-if-unused = ["check-unused-result-with-ok", "iart-core/danger-allow-panic-if-unused"]

core_error-support = ["iart-core/core_error-support"]
enable-default-handler = ["iart-core/enable-default-handler", "std"]


for-nightly-allocator-api-support = ["iart-core/for-nightly-allocator-api-support", "iart-macros/for-nightly-allocator-api-support", "alloc"]
alloc = ["iart-core/alloc", "iart-macros/alloc"]

for-nightly-likely-optimization = ["iart-core/for-nightly-likely-optimization"]
for-nightly-try-support = ["iart-core/for-nightly-try-support", "iart-macros/for-nightly-try-support"]
for-nightly-error-generic-member-access = ["iart-core/for-nightly-error-generic-member-access"]

no-trace-dedup = ["iart-core/no-trace-dedup"]

allow-backtrace-logging = ["iart-core/allow-backtrace-logging"]

check-unused-result = ["iart-core/check-unused-result"]

error-can-have-item = ["iart-core/error-can-have-item"]