glossa-shared 0.0.8

Shared Data structures for glossa-codegen
Documentation
[package]
name = "glossa-shared"
# version.workspace = true
version = "0.0.8"
authors.workspace = true
categories.workspace = true
readme = "docs/Readme.md"
keywords.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
description = "Shared Data structures for glossa-codegen"

[features]
default = ["phf", "type-aliases"]
std = [
    "dep:ahash",
    "dep:kstring",
    "glossa-dsl?/std",
    "bincode?/std",
    "serde?/std",
    "compact_str/std",
    "smallvec?/std",
    # "itertools/use_std",
    "dep:rayon",
]
serde = [
    "dep:serde",
    "ahash?/serde",
    "kstring?/serde",
    "lang-id?/serde",
    "glossa-dsl?/serde",
    "compact_str/serde",
    "smallvec?/serde",
]
type-aliases = ["dep:lang-id", "dep:glossa-dsl"]
phf = ["dep:phf"]
consts = ["lang-id?/consts"]
decode = ["serde", "type-aliases", "dep:bincode", "glossa-dsl?/bincode"]
smallvec = ["dep:smallvec", "dep:derive_more"]

[dependencies]
# itertools.workspace = true
compact_str.workspace = true
phf_shared.workspace = true
tap.workspace = true
phf = { workspace = true, optional = true }
ahash = { workspace = true, optional = true }
derive_more = { workspace = true, optional = true, features = [
    "deref",
    "deref_mut",
] }
lang-id = { workspace = true, optional = true, features = ["compact_str"] }
kstring = { workspace = true, optional = true }
glossa-dsl = { workspace = true, optional = true }
bincode = { workspace = true, optional = true, features = ["alloc", "serde"] }
serde = { workspace = true, optional = true, features = ["alloc"] }
smallvec = { workspace = true, optional = true }
rayon = { workspace = true, optional = true }
log.workspace = true

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "__unstable_doc"]

[lints]
workspace = true