tree-type 0.4.3

Rust macros for creating type-safe filesystem tree structures
Documentation
[dependencies.fs-err]
optional = true
version = "3.1"

[dependencies.path_facts]
optional = true
version = "0.2.1"

[dependencies.regex]
optional = true
version = "1.10"

[dependencies.serde]
features = ["derive"]
optional = true
version = "1.0"

[dependencies.tree-type-proc-macro]
default-features = false
version = "0.4.3"

[dependencies.walkdir]
optional = true
version = "2.5"

[dev-dependencies.assert2]
version = "0.3"

[dev-dependencies.cargo-readme]
version = "3.2"

[dev-dependencies.serde_json]
version = "1.0"

[dev-dependencies.tempfile]
version = "3.0"

[dev-dependencies.trybuild]
version = "1.0"

[[example]]
name = "demo"
path = "examples/demo.rs"

[[example]]
name = "symlink_demo"
path = "examples/symlink_demo.rs"

[features]
codegen-v2 = ["tree-type-proc-macro/codegen-v2"]
enhanced-errors = ["dep:fs-err", "dep:path_facts", "tree-type-proc-macro/enhanced-errors"]
pattern-validation = ["dep:regex", "tree-type-proc-macro/pattern-validation"]
serde = ["dep:serde", "tree-type-proc-macro/serde"]
walk = ["dep:walkdir", "tree-type-proc-macro/walk"]

[lib]
name = "tree_type"
path = "src/lib.rs"

[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
description = "Rust macros for creating type-safe filesystem tree structures"
documentation = "https://docs.rs/tree-type"
edition = "2024"
license = "MIT"
name = "tree-type"
readme = "README.md"
repository = "https://codeberg.org/kemitix/tree-type"
version = "0.4.3"

[package.metadata.cargo-machete]
ignored = ["regex", "fs-err", "path_facts", "serde", "walkdir"]

[[test]]
name = "api_surface_test"
path = "tests/api_surface_test.rs"

[[test]]
name = "asref_path_verification"
path = "tests/asref_path_verification.rs"

[[test]]
name = "attribute_combinations_comprehensive"
path = "tests/attribute_combinations_comprehensive.rs"

[[test]]
name = "attributes_test"
path = "tests/attributes_test.rs"

[[test]]
name = "children_method_test"
path = "tests/children_method_test.rs"

[[test]]
name = "create_default_test"
path = "tests/create_default_test.rs"

[[test]]
name = "deps_re_export_test"
path = "tests/deps_re_export_test.rs"

[[test]]
name = "dir_validate_empty_children"
path = "tests/dir_validate_empty_children.rs"

[[test]]
name = "display_debug_test"
path = "tests/display_debug_test.rs"

[[test]]
name = "dynamic_id_attributes_test"
path = "tests/dynamic_id_attributes_test.rs"

[[test]]
name = "dynamic_id_children_bug_reproduction"
path = "tests/dynamic_id_children_bug_reproduction.rs"

[[test]]
name = "dynamic_id_custom_type_default"
path = "tests/dynamic_id_custom_type_default.rs"

[[test]]
name = "dynamic_id_getter_test"
path = "tests/dynamic_id_getter_test.rs"

[[test]]
name = "dynamic_id_numeric_types_test"
path = "tests/dynamic_id_numeric_types_test.rs"

[[test]]
name = "dynamic_id_signature_test"
path = "tests/dynamic_id_signature_test.rs"

[[test]]
name = "dynamic_id_syntax_test"
path = "tests/dynamic_id_syntax_test.rs"

[[test]]
name = "enhanced_attributes_test"
path = "tests/enhanced_attributes_test.rs"

[[test]]
name = "enhanced_errors_test"
path = "tests/enhanced_errors_test.rs"

[[test]]
name = "ensure_custom_type_default"
path = "tests/ensure_custom_type_default.rs"

[[test]]
name = "ensure_default_files"
path = "tests/ensure_default_files.rs"

[[test]]
name = "external_project_patterns_test"
path = "tests/external_project_patterns_test.rs"

[[test]]
name = "external_usage_comprehensive_test"
path = "tests/external_usage_comprehensive_test.rs"

[[test]]
name = "feature_gate_correctness_test"
path = "tests/feature_gate_correctness_test.rs"

[[test]]
name = "file_name_test"
path = "tests/file_name_test.rs"

[[test]]
name = "file_type_serde_test"
path = "tests/file_type_serde_test.rs"

[[test]]
name = "generic_conversions_test"
path = "tests/generic_conversions_test.rs"

[[test]]
name = "generic_dir_api_parity_test"
path = "tests/generic_dir_api_parity_test.rs"

[[test]]
name = "macro_hygiene_test"
path = "tests/macro_hygiene_test.rs"

[[test]]
name = "macro_pattern_coverage"
path = "tests/macro_pattern_coverage.rs"

[[test]]
name = "method_availability_test"
path = "tests/method_availability_test.rs"

[[test]]
name = "migration_guide_test"
path = "tests/migration_guide_test.rs"

[[test]]
name = "minimal_dynamic_parent_test"
path = "tests/minimal_dynamic_parent_test.rs"

[[test]]
name = "numeric_id_signature_test"
path = "tests/numeric_id_signature_test.rs"

[[test]]
name = "parent_method_test"
path = "tests/parent_method_test.rs"

[[test]]
name = "proc_macro_basic_test"
path = "tests/proc_macro_basic_test.rs"

[[test]]
name = "proc_macro_comprehensive_test"
path = "tests/proc_macro_comprehensive_test.rs"

[[test]]
name = "proc_macro_dynamic_id_test"
path = "tests/proc_macro_dynamic_id_test.rs"

[[test]]
name = "proc_macro_functionality_test"
path = "tests/proc_macro_functionality_test.rs"

[[test]]
name = "proc_macro_integration_test"
path = "tests/proc_macro_integration_test.rs"

[[test]]
name = "proc_macro_method_parity_test"
path = "tests/proc_macro_method_parity_test.rs"

[[test]]
name = "proc_macro_methods_test"
path = "tests/proc_macro_methods_test.rs"

[[test]]
name = "proc_macro_minimal_repro"
path = "tests/proc_macro_minimal_repro.rs"

[[test]]
name = "proc_macro_parser_test"
path = "tests/proc_macro_parser_test.rs"

[[test]]
name = "proc_macro_setup_behavior_test"
path = "tests/proc_macro_setup_behavior_test.rs"

[[test]]
name = "proc_macro_validation_test"
path = "tests/proc_macro_validation_test.rs"

[[test]]
name = "rename_test"
path = "tests/rename_test.rs"

[[test]]
name = "reproduction_case"
path = "tests/reproduction_case.rs"

[[test]]
name = "required_parent_dirs"
path = "tests/required_parent_dirs.rs"

[[test]]
name = "root_type_complete_api_test"
path = "tests/root_type_complete_api_test.rs"

[[test]]
name = "secure_comprehensive_test"
path = "tests/secure_comprehensive_test.rs"

[[test]]
name = "secure_method_test"
path = "tests/secure_method_test.rs"

[[test]]
name = "serde_integration"
path = "tests/serde_integration.rs"

[[test]]
name = "serde_test"
path = "tests/serde_test.rs"

[[test]]
name = "setup_test"
path = "tests/setup_test.rs"

[[test]]
name = "simple_struct_test"
path = "tests/simple_struct_test.rs"

[[test]]
name = "symlink_basic"
path = "tests/symlink_basic.rs"

[[test]]
name = "symlink_bug_reproduction"
path = "tests/symlink_bug_reproduction.rs"

[[test]]
name = "symlink_cross_directory"
path = "tests/symlink_cross_directory.rs"

[[test]]
name = "symlink_metadata"
path = "tests/symlink_metadata.rs"

[[test]]
name = "symlink_navigation"
path = "tests/symlink_navigation.rs"

[[test]]
name = "symlink_nested_path"
path = "tests/symlink_nested_path.rs"

[[test]]
name = "symlink_reproduction"
path = "tests/symlink_reproduction.rs"

[[test]]
name = "symlink_setup"
path = "tests/symlink_setup.rs"

[[test]]
name = "symlink_validation_demo"
path = "tests/symlink_validation_demo.rs"

[[test]]
name = "symlink_validation_test"
path = "tests/symlink_validation_test.rs"

[[test]]
name = "test_default_with_validate"
path = "tests/test_default_with_validate.rs"

[[test]]
name = "test_ensure_required_dirs"
path = "tests/test_ensure_required_dirs.rs"

[[test]]
name = "test_sync_method"
path = "tests/test_sync_method.rs"

[[test]]
name = "test_walk_dir"
path = "tests/test_walk_dir.rs"

[[test]]
name = "trait_implementations_test"
path = "tests/trait_implementations_test.rs"

[[test]]
name = "v2"
path = "tests/v2.rs"

[[test]]
name = "walk_method_test"
path = "tests/walk_method_test.rs"