# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.93.0"
name = "devela"
version = "0.25.0"
authors = ["José Luis Cruz <joseluis@andamira.net>"]
build = "build/main/mod.rs"
include = [
    "/Cargo.toml",
    "/build/main/**/*.rs",
    "/build/main/**/*.md",
    "/build/main/dep_all",
    "/src/**/*.rs",
    "/src/**/*.md",
    "/src/**/*.html",
    "/docs/nightly.md",
    "/docs/vendored*.md",
    "/LICENSE*",
    "/examples/code/enumint.rs",
    "/examples/code/enumset.rs",
    "/examples/data/bitfield.rs",
    "/examples/data/id_seq.rs",
    "/examples/work/coro_manager.rs",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A development layer of coherence."
documentation = "https://docs.rs/devela/"
readme = "docs/readme_crate.md"
keywords = [
    "dev",
    "helper",
    "library",
    "std",
    "extension",
]
categories = [
    "development-tools",
    "rust-patterns",
    "no-std::no-alloc",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/andamira/devela"

[package.metadata.docs.rs]
no-default-features = true
features = [
    "_docs",
    "__publish",
]
rustc-args = [
    "--cfg",
    "nightly",
    "-Ctarget-cpu=native",
]
rustdoc-args = [
    "-Ctarget-cpu=native",
    "--generate-link-to-definition",
    "--html-in-header",
    "./src/_doc/header.html",
    "--cfg",
    "nightly",
]
default-target = "x86_64-unknown-linux-gnu"
targets = [
    "aarch64-apple-darwin",
    "x86_64-pc-windows-msvc",
    "wasm32-unknown-unknown",
]

[badges.maintenance]
status = "experimental"

[features]
__dbg = [
    "devela_base_core/__dbg",
    "devela_base_alloc?/__dbg",
    "devela_base_std?/__dbg",
]
__docs_internal = [
    "devela_base_core/__docs_internal",
    "devela_base_alloc?/__docs_internal",
    "devela_base_std?/__docs_internal",
    "devela_macros?/__docs_internal",
]
__exclude_test = []
__force_miri_dst = []
__publish = [
    "devela_base_core/__publish",
    "devela_base_alloc?/__publish",
    "devela_base_std?/__publish",
    "devela_macros?/__publish",
]
__std = [
    "std",
    "devela_base_core/__std",
    "devela_base_alloc?/__std",
]
_collections_all = [
    "_destaque_all",
    "_graph_all",
    "_node_all",
    "_stack_all",
    "_tuple",
]
_data_all = [
    "_collections_all",
    "_tuple",
    "_value_all",
]
_destaque_all = [
    "_destaque_u8",
    "_destaque_u16",
    "_destaque_u32",
    "_destaque_usize",
]
_destaque_u16 = []
_destaque_u32 = []
_destaque_u8 = []
_destaque_usize = []
_docs = [
    "_docs_nodep",
    "dep_all",
    "devela_base_core/_docs",
    "devela_base_core/_docs",
    "devela_base_alloc?/_docs",
    "devela_base_std?/_docs",
    "devela_macros?/_docs",
]
_docs_examples = [
    "devela_base_core/_docs_examples",
    "devela_base_alloc?/_docs_examples",
    "devela_base_std?/_docs_examples",
]
_docs_max = [
    "_docs",
    "_max",
    "__docs_internal",
]
_docs_min = [
    "_docs_examples",
    "devela_base_core/_docs_min",
    "devela_macros",
    "all",
    "x11",
    "linux",
    "_destaque_u8",
    "_stack_u8",
    "_graph_u8",
    "_tuple",
    "_unroll",
    "_value64",
]
_docs_nodep = [
    "_docs_min",
    "std",
    "unsafe",
    "__dbg",
    "devela_base_core/_docs_nodep",
    "devela_base_alloc?/_docs_nodep",
    "devela_base_std?/_docs_nodep",
    "devela_macros?/_docs_nodep",
]
_graph_all = [
    "_graph_u8",
    "_graph_u16",
    "_graph_u32",
    "_graph_usize",
]
_graph_u16 = ["_node_u16"]
_graph_u32 = ["_node_u32"]
_graph_u8 = ["_node_u8"]
_graph_usize = ["_node_usize"]
_max = ["_data_all"]
_maxest = [
    "_max",
    "_tuple_72",
    "_unroll_2048",
]
_node_all = [
    "_node_u8",
    "_node_u16",
    "_node_u32",
    "_node_usize",
]
_node_u16 = []
_node_u32 = []
_node_u8 = []
_node_usize = []
_stack_all = [
    "_stack_u8",
    "_stack_u16",
    "_stack_u32",
    "_stack_usize",
]
_stack_u16 = []
_stack_u32 = []
_stack_u8 = []
_stack_usize = []
_tuple = []
_tuple_24 = ["_tuple"]
_tuple_36 = ["_tuple_24"]
_tuple_48 = ["_tuple_36"]
_tuple_72 = ["_tuple_48"]
_unroll = []
_unroll_1024 = ["_unroll_512"]
_unroll_128 = ["_unroll"]
_unroll_2048 = ["_unroll_1024"]
_unroll_256 = ["_unroll_128"]
_unroll_512 = ["_unroll_256"]
_value1024 = []
_value128 = []
_value16 = []
_value256 = []
_value32 = []
_value512 = []
_value64 = []
_value8 = []
_value_all = [
    "_value8",
    "_value16",
    "_value32",
    "_value64",
    "_value128",
    "_value256",
    "_value512",
    "_value1024",
]
all = [
    "code",
    "data",
    "geom",
    "lang",
    "media",
    "num",
    "org",
    "phys",
    "run",
    "sys",
    "text",
    "ui",
    "vita",
    "work",
]
alloc = [
    "devela_base_alloc",
    "bytemuck?/extern_crate_alloc",
    "jiff?/alloc",
    "memchr?/alloc",
    "portable-atomic-util?/alloc",
    "serde?/alloc",
]
audio = ["devela_base_core/audio"]
bit = []
code = []
color = [
    "devela_base_core/color",
    "devela_base_alloc?/color",
    "devela_base_std?/color",
]
data = ["hash"]
dep_all = [
    "dep_atomic",
    "dep_bytemuck",
    "dep_hashbrown",
    "dep_jiff",
    "dep_memchr",
    "dep_portable_atomic",
    "dep_portable_atomic_util",
    "dep_rand_core",
    "dep_raw_cpuid",
    "dep_safe_arch",
    "dep_serde",
    "dep_simdutf8",
    "dep_wide",
]
dep_atomic = ["dep:atomic"]
dep_bytemuck = [
    "dep:bytemuck",
    "safe_arch?/bytemuck",
]
dep_hashbrown = [
    "dep:hashbrown",
    "alloc",
]
dep_jiff = [
    "dep:jiff",
    "alloc",
]
dep_log = ["dep:log"]
dep_memchr = [
    "dep:memchr",
    "devela_base_core/dep_memchr",
]
dep_portable_atomic = ["dep:portable-atomic"]
dep_portable_atomic_util = [
    "dep:portable-atomic-util",
    "devela_base_alloc?/dep_portable_atomic_util",
]
dep_rand_core = [
    "dep:rand_core",
    "devela_base_core/dep_rand_core",
]
dep_raw_cpuid = ["dep:raw-cpuid"]
dep_safe_arch = ["dep:safe_arch"]
dep_serde = [
    "dep:serde",
    "portable-atomic?/serde",
    "wide?/serde",
]
dep_simdutf8 = [
    "dep:simdutf8",
    "devela_base_core/dep_simdutf8",
]
dep_wide = [
    "dep:wide",
    "devela_base_core/dep_wide",
]
draw = ["devela_base_core/draw"]
event = []
fig = ["devela_base_core/fig"]
font = ["devela_base_core/font"]
geom = ["fig"]
glsl = []
grapheme = ["devela_base_core/grapheme"]
hash = []
image = ["devela_base_core/image"]
int = [
    "devela_base_core/int",
    "devela_base_alloc?/int",
]
io = []
js = []
lang = [
    "glsl",
    "js",
]
layout = []
lin = []
linux = []
media = [
    "audio",
    "font",
    "visual",
]
mem = ["bit"]
no_std = []
num = [
    "int",
    "lin",
    "rand",
]
org = []
phys = [
    "time",
    "unit",
    "wave",
]
process = []
rand = [
    "devela_base_core/rand",
    "devela_base_alloc?/rand",
    "devela_base_std?/rand",
]
run = []
safe = [
    "devela_base_core/safe",
    "devela_base_alloc?/safe",
    "devela_base_std?/safe",
    "devela_macros?/safe",
    "safe_code",
    "safe_data",
    "safe_geom",
    "safe_lang",
    "safe_media",
    "safe_num",
    "safe_org",
    "safe_phys",
    "safe_run",
    "safe_sys",
    "safe_text",
    "safe_ui",
    "safe_vita",
    "safe_work",
]
safe_audio = ["devela_base_core/safe_audio"]
safe_build = ["devela_base_std?/safe_build"]
safe_code = ["devela_base_core/safe_code"]
safe_color = [
    "devela_base_core/safe_color",
    "devela_base_alloc?/safe_color",
    "devela_base_std?/safe_color",
]
safe_data = ["devela_base_core/safe_data"]
safe_draw = ["devela_base_core/safe_draw"]
safe_font = ["devela_base_core/safe_font"]
safe_geom = []
safe_image = ["devela_base_core/safe_image"]
safe_io = ["devela_base_core/safe_io"]
safe_lang = []
safe_media = [
    "safe_audio",
    "safe_color",
    "safe_draw",
    "safe_font",
    "safe_image",
]
safe_mem = ["devela_base_core/safe_mem"]
safe_num = []
safe_org = []
safe_phys = ["safe_time"]
safe_run = ["devela_base_core/safe_run"]
safe_sys = [
    "safe_io",
    "safe_mem",
    "devela_base_core/safe_sys",
]
safe_text = ["devela_base_core/safe_text"]
safe_time = []
safe_ui = []
safe_visual = [
    "safe_color",
    "safe_draw",
    "safe_image",
]
safe_vita = []
safe_work = ["devela_base_core/safe_work"]
safest = ["safe"]
std = [
    "alloc",
    "devela_base_std/std",
    "atomic?/std",
    "bytemuck?/extern_crate_std",
    "jiff?/std",
    "log?/std",
    "memchr?/std",
    "portable-atomic-util?/std",
    "raw-cpuid?/std",
    "serde?/std",
    "simdutf8?/std",
    "wide?/std",
]
sync = []
sys = [
    "io",
    "mem",
    "term",
]
term = ["devela_base_core/term"]
text = [
    "grapheme",
    "translit",
]
thread = []
time = []
translit = ["devela_base_core/translit"]
ui = [
    "event",
    "layout",
]
unit = []
unsafe = [
    "devela_macros?/unsafe",
    "devela_base_core/unsafe",
    "devela_base_alloc?/unsafe",
    "devela_base_std?/unsafe",
    "unsafe_array",
    "unsafe_ffi",
    "unsafe_hint",
    "unsafe_layout",
    "unsafe_niche",
    "unsafe_ptr",
    "unsafe_slice",
    "unsafe_str",
    "unsafe_sync",
    "unsafe_syscall",
    "unsafe_thread",
]
unsafe_array = ["devela_base_core/unsafe_array"]
unsafe_ffi = ["devela_base_core/unsafe_ffi"]
unsafe_hint = ["devela_base_core/unsafe_hint"]
unsafe_layout = ["devela_base_core/unsafe_layout"]
unsafe_niche = ["devela_base_core/unsafe_niche"]
unsafe_ptr = ["devela_base_core/unsafe_ptr"]
unsafe_slice = ["devela_base_core/unsafe_slice"]
unsafe_str = ["devela_base_core/unsafe_str"]
unsafe_sync = ["devela_base_core/unsafe_sync"]
unsafe_syscall = ["devela_base_core/unsafe_syscall"]
unsafe_thread = ["devela_base_core/unsafe_thread"]
visual = [
    "color",
    "draw",
    "image",
]
vita = []
wave = []
windows = []
work = [
    "process",
    "sync",
    "thread",
    "bytemuck?/zeroable_atomics",
]
work_deps = [
    "work",
    "dep_atomic",
    "dep_portable_atomic",
]
x11 = []

[lib]
name = "devela"
path = "src/index.rs"
bench = false

[[example]]
name = "enumint"
path = "examples/code/enumint.rs"
required-features = ["devela_macros"]

[[example]]
name = "enumset"
path = "examples/code/enumset.rs"

[[example]]
name = "bitfield"
path = "examples/data/bitfield.rs"

[[example]]
name = "id_seq"
path = "examples/data/id_seq.rs"

[[example]]
name = "coro_manager"
path = "examples/work/coro_manager.rs"
required-features = ["alloc"]

[dependencies.atomic]
version = "0.6.1"
features = ["fallback"]
optional = true
default-features = false

[dependencies.bytemuck]
version = "1.25"
features = [
    "alloc_uninit",
    "align_offset",
    "min_const_generics",
    "must_cast",
    "zeroable_maybe_uninit",
]
optional = true
default-features = false

[dependencies.devela_base_alloc]
version = "0.25.0"
optional = true

[dependencies.devela_base_core]
version = "0.25.0"

[dependencies.devela_base_std]
version = "0.25.0"
optional = true

[dependencies.devela_macros]
version = "0.25.0"
optional = true

[dependencies.hashbrown]
version = "0.16"
features = [
    "default-hasher",
    "inline-more",
]
optional = true
default-features = false

[dependencies.jiff]
version = "0.2"
optional = true
default-features = false

[dependencies.log]
version = "0.4.29"
optional = true
default-features = false

[dependencies.memchr]
version = "2.8"
optional = true
default-features = false

[dependencies.portable-atomic]
version = "1.13"
features = [
    "fallback",
    "float",
]
optional = true
default-features = false

[dependencies.portable-atomic-util]
version = "0.2.5"
optional = true
default-features = false

[dependencies.rand_core]
version = "0.10"
optional = true
default-features = false

[dependencies.raw-cpuid]
version = "11.6"
optional = true
default-features = false

[dependencies.safe_arch]
version = "1.0"
optional = true
default-features = false

[dependencies.serde]
version = "1.0"
optional = true
default-features = false

[dependencies.simdutf8]
version = "0.1"
optional = true
default-features = false

[dependencies.wide]
version = "1.1"
optional = true
default-features = false

[dev-dependencies]

[build-dependencies]

[lints.clippy]
approx_constant = "allow"
bool_to_int_with_if = "warn"
cloned_instead_of_copied = "warn"
collapsible_if = "allow"
default_union_representation = "warn"
doc_lazy_continuation = "allow"
empty_docs = "allow"
empty_structs_with_brackets = "warn"
enum_glob_use = "deny"
float_cmp = "warn"
float_cmp_const = "warn"
ignored_unit_patterns = "warn"
manual_let_else = "warn"
manual_string_new = "warn"
map_unwrap_or = "warn"
missing_safety_doc = "deny"
mixed_attributes_style = "allow"
module_inception = "allow"
needless_doctest_main = "allow"
ptr_cast_constness = "warn"
same_functions_in_if_condition = "warn"
semicolon_if_nothing_returned = "warn"
single_match_else = "warn"
trivially_copy_pass_by_ref = "warn"
unnested_or_patterns = "warn"
unreadable_literal = "warn"
wrong_self_convention = "allow"

[lints.clippy.all]
level = "warn"
priority = -1

[lints.rust]
missing_docs = "warn"
stable_features = "allow"
type_alias_bounds = "deny"
unknown_lints = "allow"
unsafe_op_in_unsafe_fn = "deny"
unused_features = "allow"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
    "cfg(cargo_primary_package)",
    "cfg(__exclude_test)",
    'cfg(target_pointer_width, values("8", "128"))',
    'cfg(target_vendor, values("vex"))',
    "cfg(any_target_arch_linux)",
    "cfg(any_target_arch_riscv)",
    "cfg(nightly)",
    "cfg(nightly_unstable)",
    "cfg(nightly_allocator)",
    "cfg(nightly_become)",
    "cfg(nightly_coro)",
    "cfg(nightly_doc)",
    "cfg(nightly_float)",
    "cfg(nightly_simd)",
    "cfg(nightly_stable)",
    "cfg(nightly_stable_1_94)",
    "cfg(nightly_stable_1_95)",
    "cfg(nightly_stable_1_96)",
    "cfg(nightly_stable_later)",
    "cfg(unsafe··, safe··, nightly··, dep··)",
    "cfg(data··)",
    "cfg(_destaque··, _stack··)",
    "cfg(_graph··, _node··)",
    "cfg(geom··)",
    "cfg(lang··, ffi··)",
    "cfg(media··, visual··)",
    "cfg(num··)",
    "cfg(org··)",
    "cfg(phys··)",
    "cfg(run··)",
    "cfg(sys··, mem··)",
    "cfg(text··)",
    "cfg(ui··)",
    "cfg(vita··)",
    "cfg(work··)",
]

[lints.rustdoc]
redundant_explicit_links = "allow"

[profile.bench]
opt-level = 3
lto = true
codegen-units = 1
debug = 0

[profile.debugging]
debug = 2
inherits = "dev"

[profile.dev]
debug = "line-tables-only"

[profile.dev.package."*"]
debug = 0

[profile.dev-lto]
lto = "thin"
inherits = "dev"

[profile.release-lto]
lto = "thin"
inherits = "release"

[profile.wasm]
opt-level = "s"
lto = true
codegen-units = 1
panic = "abort"
inherits = "release"
strip = true
