rust-spec 0.2.0

Classification of types in accordance with the Rust specification
Documentation
[workspace]
members = ["derive"]

[workspace.package]
version = "0.2.0"
edition = "2024"
license = "Apache-2.0"
authors = ["Marin Veršić <marin.versic101@gmail.com>"]

[package]
name = "rust-spec"

version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true

description = "Classification of types in accordance with the Rust specification"
repository = "https://github.com/mversic/rust-spec"
keywords = ["rust", "specification", "classification", "layout", "repr"]

categories = ["rust-patterns", "no-std"]

[features]
# Implement classification for types from the `alloc` crate (e.g. `Box<T>` or `Vec<T>`).
alloc = []

# Enables `#[derive(RustSpec)]`
derive = ["rust-spec-derive"]

default = ["alloc", "derive"]

[dependencies]
rust-spec-derive = { version = "0.2.0", path = "derive", optional = true }

disjoint_impls = "1.3.9"
sealed = "0.7.0"

[dev-dependencies]
static_assertions = "1.1.0"

[[test]]
name = "struct"
path = "tests/struct.rs"
required-features = ["derive", "alloc"]

[[test]]
name = "enum"
path = "tests/enum.rs"
required-features = ["derive", "alloc"]

[[test]]
name = "union"
path = "tests/union.rs"
required-features = ["derive", "alloc"]