[package]
edition = "2021"
rust-version = "1.85"
name = "vyre-conform"
version = "0.1.0"
authors = ["Santh Project <contact@santh.dev>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Conformance suite for vyre backends — proves byte-identical output to CPU reference"
homepage = "https://github.com/santhsecurity/vyre"
documentation = "https://docs.rs/vyre-conform"
readme = "README.md"
keywords = [
"gpu",
"conformance",
"testing",
"wgsl",
"vyre",
]
categories = [
"development-tools::testing",
"algorithms",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/santhsecurity/vyre"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = []
gpu = []
oom-injection = []
[lib]
name = "vyre_conform"
path = "src/lib.rs"
[[bin]]
name = "vyre-conform"
path = "src/bin/main.rs"
[[test]]
name = "adversarial"
path = "tests/adversarial.rs"
[[test]]
name = "adversarial_gauntlet_registry"
path = "tests/adversarial_gauntlet_registry.rs"
[[test]]
name = "algebra_adversarial_cross_laws"
path = "tests/algebra_adversarial_cross_laws.rs"
[[test]]
name = "algebra_adversarial_custom_laws"
path = "tests/algebra_adversarial_custom_laws.rs"
[[test]]
name = "algebra_adversarial_distributive_over"
path = "tests/algebra_adversarial_distributive_over.rs"
[[test]]
name = "algebra_adversarial_one_sided"
path = "tests/algebra_adversarial_one_sided.rs"
[[test]]
name = "algebra_checker_fuzz"
path = "tests/algebra_checker_fuzz.rs"
[[test]]
name = "algebra_self_test"
path = "tests/algebra_self_test.rs"
[[test]]
name = "append_only_paths_completeness"
path = "tests/append_only_paths_completeness.rs"
[[test]]
name = "append_only_tripwire"
path = "tests/append_only_tripwire.rs"
[[test]]
name = "archetypes_registry"
path = "tests/archetypes_registry.rs"
[[test]]
name = "atomics_enforcer"
path = "tests/atomics_enforcer.rs"
[[test]]
name = "audit_bypass_vectors"
path = "tests/audit_bypass_vectors.rs"
[[test]]
name = "backend_universality"
path = "tests/backend_universality.rs"
[[test]]
name = "barrier_enforcer"
path = "tests/barrier_enforcer.rs"
[[test]]
name = "catb_box_dyn_trait_dispatch"
path = "tests/catb_box_dyn_trait_dispatch.rs"
[[test]]
name = "catb_fn_ptr_struct_field"
path = "tests/catb_fn_ptr_struct_field.rs"
[[test]]
name = "catb_hashmap_fn_dispatch"
path = "tests/catb_hashmap_fn_dispatch.rs"
[[test]]
name = "catb_indexed_fn_table_call"
path = "tests/catb_indexed_fn_table_call.rs"
[[test]]
name = "catb_iter_chain_visitor"
path = "tests/catb_iter_chain_visitor.rs"
[[test]]
name = "catb_round2_any_downcast"
path = "tests/catb_round2_any_downcast.rs"
[[test]]
name = "catb_round2_async_boxing"
path = "tests/catb_round2_async_boxing.rs"
[[test]]
name = "catb_round2_enum_dispatch_verification"
path = "tests/catb_round2_enum_dispatch_verification.rs"
[[test]]
name = "catb_round2_inventory_linkme"
path = "tests/catb_round2_inventory_linkme.rs"
[[test]]
name = "catb_round2_renamed_opcode_enums"
path = "tests/catb_round2_renamed_opcode_enums.rs"
[[test]]
name = "catb_round2_typetag_serde"
path = "tests/catb_round2_typetag_serde.rs"
[[test]]
name = "catb_round2_wrapped_dyn_storage"
path = "tests/catb_round2_wrapped_dyn_storage.rs"
[[test]]
name = "catb_symlink_cycle"
path = "tests/catb_symlink_cycle.rs"
[[test]]
name = "category_gate"
path = "tests/category_gate.rs"
[[test]]
name = "certificate_sealed"
path = "tests/certificate_sealed.rs"
[[test]]
name = "certificate_strength"
path = "tests/certificate_strength.rs"
[[test]]
name = "certify_tracks"
path = "tests/certify_tracks.rs"
[[test]]
name = "characterize_arity_isolates_comparison"
path = "tests/characterize_arity_isolates_comparison.rs"
[[test]]
name = "characterize_empty_law_set_reported"
path = "tests/characterize_empty_law_set_reported.rs"
[[test]]
name = "characterize_identical_law_sets_collide"
path = "tests/characterize_identical_law_sets_collide.rs"
[[test]]
name = "characterize_parameterized_identity_distinct"
path = "tests/characterize_parameterized_identity_distinct.rs"
[[test]]
name = "characterize_registry_distinctiveness"
path = "tests/characterize_registry_distinctiveness.rs"
[[test]]
name = "characterize_subset_collides_with_superset"
path = "tests/characterize_subset_collides_with_superset.rs"
[[test]]
name = "characterize_unique_op_is_unique"
path = "tests/characterize_unique_op_is_unique.rs"
[[test]]
name = "codeowners_coverage"
path = "tests/codeowners_coverage.rs"
[[test]]
name = "composition_parity"
path = "tests/composition_parity.rs"
[[test]]
name = "composition_proofs"
path = "tests/composition_proofs.rs"
[[test]]
name = "conform_audit_regressions"
path = "tests/conform_audit_regressions.rs"
[[test]]
name = "conform_self_audit_must_scream"
path = "tests/conform_self_audit_must_scream.rs"
[[test]]
name = "contribute_pipeline"
path = "tests/contribute_pipeline.rs"
[[test]]
name = "contributor_flow_end_to_end"
path = "tests/contributor_flow_end_to_end.rs"
[[test]]
name = "corpus_append_only"
path = "tests/corpus_append_only.rs"
[[test]]
name = "corpus_replay_xor"
path = "tests/corpus_replay_xor.rs"
[[test]]
name = "data_race_enforcer"
path = "tests/data_race_enforcer.rs"
[[test]]
name = "defenders_backdoor"
path = "tests/defenders_backdoor.rs"
[[test]]
name = "defenders_built_in_coverage"
path = "tests/defenders_built_in_coverage.rs"
[[test]]
name = "defenders_drop_lsb"
path = "tests/defenders_drop_lsb.rs"
[[test]]
name = "defenders_drop_msb"
path = "tests/defenders_drop_msb.rs"
[[test]]
name = "defenders_hardcoded_input"
path = "tests/defenders_hardcoded_input.rs"
[[test]]
name = "defenders_hardcoded_zero"
path = "tests/defenders_hardcoded_zero.rs"
[[test]]
name = "defenders_mod_mask"
path = "tests/defenders_mod_mask.rs"
[[test]]
name = "defenders_nondeterministic"
path = "tests/defenders_nondeterministic.rs"
[[test]]
name = "defenders_off_by_one"
path = "tests/defenders_off_by_one.rs"
[[test]]
name = "defenders_pseudo_correct"
path = "tests/defenders_pseudo_correct.rs"
[[test]]
name = "defenders_sign_flip"
path = "tests/defenders_sign_flip.rs"
[[test]]
name = "defenders_swapped_operand"
path = "tests/defenders_swapped_operand.rs"
[[test]]
name = "defenders_unsupported"
path = "tests/defenders_unsupported.rs"
[[test]]
name = "determinism_enforcer"
path = "tests/determinism_enforcer.rs"
[[test]]
name = "determinism_stress"
path = "tests/determinism_stress.rs"
[[test]]
name = "diagnostics"
path = "tests/diagnostics/main.rs"
[[test]]
name = "dual_reference_agreement"
path = "tests/dual_reference_agreement.rs"
[[test]]
name = "dual_reference_xor"
path = "tests/dual_reference_xor.rs"
[[test]]
name = "enforce_admission_finding_13"
path = "tests/enforce_admission_finding_13.rs"
[[test]]
name = "enforce_atomics_finding_1"
path = "tests/enforce_atomics_finding_1.rs"
[[test]]
name = "enforce_atomics_finding_2"
path = "tests/enforce_atomics_finding_2.rs"
[[test]]
name = "enforce_atomics_finding_3"
path = "tests/enforce_atomics_finding_3.rs"
[[test]]
name = "enforce_atomics_finding_4"
path = "tests/enforce_atomics_finding_4.rs"
[[test]]
name = "enforce_barrier_finding_5"
path = "tests/enforce_barrier_finding_5.rs"
[[test]]
name = "enforce_characterize_finding_14"
path = "tests/enforce_characterize_finding_14.rs"
[[test]]
name = "enforce_data_race_finding_6"
path = "tests/enforce_data_race_finding_6.rs"
[[test]]
name = "enforce_data_race_finding_7"
path = "tests/enforce_data_race_finding_7.rs"
[[test]]
name = "enforce_determinism_finding_8"
path = "tests/enforce_determinism_finding_8.rs"
[[test]]
name = "enforce_determinism_finding_9"
path = "tests/enforce_determinism_finding_9.rs"
[[test]]
name = "enforce_float_b1_fma_fusion"
path = "tests/enforce_float_b1_fma_fusion.rs"
[[test]]
name = "enforce_float_b2_reduction_ordering"
path = "tests/enforce_float_b2_reduction_ordering.rs"
[[test]]
name = "enforce_float_b3_subnormal"
path = "tests/enforce_float_b3_subnormal.rs"
[[test]]
name = "enforce_float_b4_transcendentals"
path = "tests/enforce_float_b4_transcendentals.rs"
[[test]]
name = "enforce_float_b5_div_sqrt"
path = "tests/enforce_float_b5_div_sqrt.rs"
[[test]]
name = "enforce_float_b6_tensor"
path = "tests/enforce_float_b6_tensor.rs"
[[test]]
name = "enforce_oob_finding_10"
path = "tests/enforce_oob_finding_10.rs"
[[test]]
name = "enforce_oob_finding_11"
path = "tests/enforce_oob_finding_11.rs"
[[test]]
name = "enforce_round3_silent_pass_vectors"
path = "tests/enforce_round3_silent_pass_vectors.rs"
[[test]]
name = "enforce_signature_finding_12"
path = "tests/enforce_signature_finding_12.rs"
[[test]]
name = "every_op_has_archetypes"
path = "tests/every_op_has_archetypes.rs"
[[test]]
name = "falsifiability_matrix"
path = "tests/falsifiability_matrix.rs"
[[test]]
name = "formal_spec"
path = "tests/formal_spec.rs"
[[test]]
name = "fuzz_reproducers"
path = "tests/fuzz_reproducers.rs"
[[test]]
name = "gap"
path = "tests/gap.rs"
[[test]]
name = "gate_7_blindness_fixed"
path = "tests/gate_7_blindness_fixed.rs"
[[test]]
name = "generator_add"
path = "tests/generator_add.rs"
[[test]]
name = "generator_cross_product"
path = "tests/generator_cross_product.rs"
[[test]]
name = "golden_replay"
path = "tests/golden_replay.rs"
[[test]]
name = "gpu_algebra"
path = "tests/gpu_algebra.rs"
[[test]]
name = "gpu_mandatory_gate"
path = "tests/gpu_mandatory_gate.rs"
[[test]]
name = "harnesses_h1"
path = "tests/harnesses_h1.rs"
[[test]]
name = "harnesses_h10"
path = "tests/harnesses_h10.rs"
[[test]]
name = "harnesses_h2"
path = "tests/harnesses_h2.rs"
[[test]]
name = "harnesses_h3"
path = "tests/harnesses_h3.rs"
[[test]]
name = "harnesses_h4"
path = "tests/harnesses_h4.rs"
[[test]]
name = "harnesses_h5"
path = "tests/harnesses_h5.rs"
[[test]]
name = "harnesses_h6"
path = "tests/harnesses_h6.rs"
[[test]]
name = "harnesses_h7"
path = "tests/harnesses_h7.rs"
[[test]]
name = "harnesses_h8"
path = "tests/harnesses_h8.rs"
[[test]]
name = "harnesses_h9"
path = "tests/harnesses_h9.rs"
[[test]]
name = "independence_gate_wired"
path = "tests/independence_gate_wired.rs"
[[test]]
name = "independence_round2_01_async"
path = "tests/independence_round2_01_async.rs"
[[test]]
name = "independence_round2_02_const"
path = "tests/independence_round2_02_const.rs"
[[test]]
name = "independence_round2_03_loop_break"
path = "tests/independence_round2_03_loop_break.rs"
[[test]]
name = "independence_round2_04_unsafe"
path = "tests/independence_round2_04_unsafe.rs"
[[test]]
name = "independence_round2_05_index"
path = "tests/independence_round2_05_index.rs"
[[test]]
name = "independence_round2_06_field"
path = "tests/independence_round2_06_field.rs"
[[test]]
name = "independence_round2_07_if_cond"
path = "tests/independence_round2_07_if_cond.rs"
[[test]]
name = "independence_round2_08_match"
path = "tests/independence_round2_08_match.rs"
[[test]]
name = "independence_round2_09_repeat"
path = "tests/independence_round2_09_repeat.rs"
[[test]]
name = "independence_round2_10_cast"
path = "tests/independence_round2_10_cast.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "kat_toml_loader"
path = "tests/kat_toml_loader.rs"
[[test]]
name = "law_coverage_matrix"
path = "tests/law_coverage_matrix.rs"
[[test]]
name = "law_dispatch_coverage"
path = "tests/law_dispatch_coverage.rs"
[[test]]
name = "law_inference"
path = "tests/law_inference.rs"
[[test]]
name = "laws_are_not_decorative"
path = "tests/laws_are_not_decorative.rs"
[[test]]
name = "layers_pipeline_green_on_clean_registry"
path = "tests/layers_pipeline_green_on_clean_registry.rs"
[[test]]
name = "layers_wiring"
path = "tests/layers_wiring.rs"
[[test]]
name = "legendary_gate_smoke"
path = "tests/legendary_gate_smoke.rs"
[[test]]
name = "loom_certificate_writer"
path = "tests/loom_certificate_writer.rs"
[[test]]
name = "loom_regression_store"
path = "tests/loom_regression_store.rs"
[[test]]
name = "loom_shared_rng"
path = "tests/loom_shared_rng.rs"
[[test]]
name = "loom_spec_registry"
path = "tests/loom_spec_registry.rs"
[[test]]
name = "loom_witness_dispatcher"
path = "tests/loom_witness_dispatcher.rs"
[[test]]
name = "meta_conform"
path = "tests/meta_conform.rs"
[[test]]
name = "minimizer"
path = "tests/minimizer.rs"
[[test]]
name = "mutation_budget"
path = "tests/mutation_budget.rs"
[[test]]
name = "mutation_catalog"
path = "tests/mutation_catalog.rs"
[[test]]
name = "no_meta_apply_in_prod"
path = "tests/no_meta_apply_in_prod.rs"
[[test]]
name = "no_unchecked_chain_spec"
path = "tests/no_unchecked_chain_spec.rs"
[[test]]
name = "non_exhaustive_audit"
path = "tests/non_exhaustive_audit.rs"
[[test]]
name = "oob_enforcer"
path = "tests/oob_enforcer.rs"
[[test]]
name = "oom_injection"
path = "tests/oom_injection.rs"
[[test]]
name = "op_spec_completeness"
path = "tests/op_spec_completeness.rs"
[[test]]
name = "oracle_hierarchy"
path = "tests/oracle_hierarchy.rs"
[[test]]
name = "p1_6_fix_critical_1"
path = "tests/p1_6_fix_critical_1.rs"
[[test]]
name = "p1_6_fix_critical_2"
path = "tests/p1_6_fix_critical_2.rs"
[[test]]
name = "p1_6_fix_critical_3"
path = "tests/p1_6_fix_critical_3.rs"
[[test]]
name = "p1_6_fix_critical_4"
path = "tests/p1_6_fix_critical_4.rs"
[[test]]
name = "p1_6_fix_critical_5"
path = "tests/p1_6_fix_critical_5.rs"
[[test]]
name = "p1_6_fix_critical_6"
path = "tests/p1_6_fix_critical_6.rs"
[[test]]
name = "p1_6_fix_critical_7"
path = "tests/p1_6_fix_critical_7.rs"
[[test]]
name = "p1_6_fix_critical_8"
path = "tests/p1_6_fix_critical_8.rs"
[[test]]
name = "parity_10m_xor"
path = "tests/parity_10m_xor.rs"
[[test]]
name = "phase6_calibration_add"
path = "tests/phase6_calibration_add.rs"
[[test]]
name = "proptest_certificate_monotonic"
path = "tests/proptest_certificate_monotonic.rs"
[[test]]
name = "proptest_comparator_symmetry"
path = "tests/proptest_comparator_symmetry.rs"
[[test]]
name = "proptest_fingerprint_collision"
path = "tests/proptest_fingerprint_collision.rs"
[[test]]
name = "proptest_independence_walker_termination"
path = "tests/proptest_independence_walker_termination.rs"
[[test]]
name = "proptest_law_closure"
path = "tests/proptest_law_closure.rs"
[[test]]
name = "proptest_spec_arity"
path = "tests/proptest_spec_arity.rs"
[[test]]
name = "proptest_witness_determinism"
path = "tests/proptest_witness_determinism.rs"
[[test]]
name = "reference_10_adversarial"
path = "tests/reference_10_adversarial.rs"
[[test]]
name = "reference_11_adversarial"
path = "tests/reference_11_adversarial.rs"
[[test]]
name = "reference_12_adversarial"
path = "tests/reference_12_adversarial.rs"
[[test]]
name = "reference_13_adversarial"
path = "tests/reference_13_adversarial.rs"
[[test]]
name = "reference_14_adversarial"
path = "tests/reference_14_adversarial.rs"
[[test]]
name = "reference_15_adversarial"
path = "tests/reference_15_adversarial.rs"
[[test]]
name = "reference_1_adversarial"
path = "tests/reference_1_adversarial.rs"
[[test]]
name = "reference_2_adversarial"
path = "tests/reference_2_adversarial.rs"
[[test]]
name = "reference_3_adversarial"
path = "tests/reference_3_adversarial.rs"
[[test]]
name = "reference_4_adversarial"
path = "tests/reference_4_adversarial.rs"
[[test]]
name = "reference_5_adversarial"
path = "tests/reference_5_adversarial.rs"
[[test]]
name = "reference_6_adversarial"
path = "tests/reference_6_adversarial.rs"
[[test]]
name = "reference_7_adversarial"
path = "tests/reference_7_adversarial.rs"
[[test]]
name = "reference_8_adversarial"
path = "tests/reference_8_adversarial.rs"
[[test]]
name = "reference_9_adversarial"
path = "tests/reference_9_adversarial.rs"
[[test]]
name = "reference_agreement_primitives"
path = "tests/reference_agreement_primitives.rs"
[[test]]
name = "reference_budget_default_archetype"
path = "tests/reference_budget_default_archetype.rs"
[[test]]
name = "reference_budget_enforced"
path = "tests/reference_budget_enforced.rs"
[[test]]
name = "reference_float"
path = "tests/reference_float.rs"
[[test]]
name = "reference_interpreter"
path = "tests/reference_interpreter.rs"
[[test]]
name = "reference_round2_findings"
path = "tests/reference_round2_findings.rs"
[[test]]
name = "reference_self_test"
path = "tests/reference_self_test.rs"
[[test]]
name = "reference_smoke"
path = "tests/reference_smoke.rs"
[[test]]
name = "reference_vs_cpu_parity"
path = "tests/reference_vs_cpu_parity.rs"
[[test]]
name = "regression_persistence"
path = "tests/regression_persistence.rs"
[[test]]
name = "rules_mutation_gap"
path = "tests/adversarial/rules_mutation_gap.rs"
[[test]]
name = "self_audit_support"
path = "tests/self_audit_support.rs"
[[test]]
name = "self_integrity"
path = "tests/self_integrity.rs"
[[test]]
name = "selftest_gauntlet"
path = "tests/selftest_gauntlet.rs"
[[test]]
name = "semantic_lock"
path = "tests/semantic_lock.rs"
[[test]]
name = "session_smoke"
path = "tests/session_smoke.rs"
[[test]]
name = "shrinking_allowlist_baseline"
path = "tests/shrinking_allowlist_baseline.rs"
[[test]]
name = "signature_enforcer"
path = "tests/signature_enforcer.rs"
[[test]]
name = "spec_ops_add"
path = "tests/spec_ops_add.rs"
[[test]]
name = "spec_registry_coverage"
path = "tests/spec_registry_coverage.rs"
[[test]]
name = "streaming_findings"
path = "tests/streaming_findings.rs"
[[test]]
name = "support"
path = "tests/support.rs"
[[test]]
name = "templates_render"
path = "tests/templates_render.rs"
[[test]]
name = "test_catalog_integrity"
path = "tests/test_catalog_integrity.rs"
[[test]]
name = "test_doctest"
path = "tests/test_doctest.rs"
[[test]]
name = "tokenize_kat"
path = "tests/tokenize_kat.rs"
[[test]]
name = "unit"
path = "tests/unit.rs"
[[test]]
name = "wire_format_equivalence"
path = "tests/wire_format_equivalence.rs"
[[test]]
name = "workflow_permission_lint_smoke"
path = "tests/workflow_permission_lint_smoke.rs"
[[test]]
name = "xtask_audit_regressions"
path = "tests/xtask_audit_regressions.rs"
[[test]]
name = "xtask_quick_check"
path = "tests/xtask_quick_check.rs"
[[test]]
name = "xtask_smoke"
path = "tests/xtask_smoke.rs"
[[bench]]
name = "bench_admission_pipeline"
path = "benches/bench_admission_pipeline.rs"
[[bench]]
name = "bench_algebra_verify_theorem"
path = "benches/bench_algebra_verify_theorem.rs"
[[bench]]
name = "bench_certify_walltime"
path = "benches/bench_certify_walltime.rs"
[[bench]]
name = "bench_fixtures"
path = "benches/bench_fixtures.rs"
[[bench]]
name = "bench_independence_walker"
path = "benches/bench_independence_walker.rs"
[[bench]]
name = "bench_law_dispatch"
path = "benches/bench_law_dispatch.rs"
[[bench]]
name = "bench_layer3_parity_sweep"
path = "benches/bench_layer3_parity_sweep.rs"
[[bench]]
name = "bench_mutation_gauntlet"
path = "benches/bench_mutation_gauntlet.rs"
[[bench]]
name = "bench_reference_trust"
path = "benches/bench_reference_trust.rs"
[[bench]]
name = "bench_regression_replay"
path = "benches/bench_regression_replay.rs"
[[bench]]
name = "bench_witness_throughput"
path = "benches/bench_witness_throughput.rs"
[dependencies.automod]
version = "=1.0.16"
[dependencies.automoduse]
version = "=1.0.0"
[dependencies.blake3]
version = "=1.8.4"
[dependencies.bytemuck]
version = "=1.25.0"
features = ["derive"]
[dependencies.clap]
version = "=4.5.21"
features = ["derive"]
[dependencies.ed25519-dalek]
version = "=2.1.1"
features = ["std"]
default-features = false
[dependencies.fs2]
version = "0.4"
[dependencies.hex]
version = "=0.4.3"
[dependencies.naga]
version = "=24.0.0"
features = ["wgsl-in"]
[dependencies.percent-encoding]
version = "=2.3.2"
[dependencies.pollster]
version = "=0.4.0"
[dependencies.proc-macro2]
version = "=1.0.106"
features = ["span-locations"]
[dependencies.rayon]
version = "=1.12.0"
[dependencies.serde]
version = "=1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "=1.0.149"
[dependencies.sha2]
version = "=0.10.9"
[dependencies.syn]
version = "=2.0.90"
features = [
"full",
"visit",
"visit-mut",
]
[dependencies.thiserror]
version = "=2.0.18"
[dependencies.toml]
version = "=0.8.23"
[dependencies.tracing]
version = "=0.1.44"
[dependencies.vyre]
version = "0.4.0"
default-features = false
[dependencies.vyre-reference]
version = "0.1.0"
[dependencies.vyre-spec]
version = "0.1.1"
[dependencies.vyre-wgpu]
version = "0.1.0"
[dependencies.walkdir]
version = "=2.5.0"
[dependencies.wgpu]
version = "=24.0.5"
features = ["wgsl"]
[dev-dependencies.criterion]
version = "=0.5.1"
features = ["html_reports"]
[dev-dependencies.loom]
version = "=0.7.2"
[dev-dependencies.pollster]
version = "=0.4.0"
[dev-dependencies.proptest]
version = "=1.9.0"
[dev-dependencies.regex]
version = "=1.12.3"
[dev-dependencies.tempfile]
version = "=3.27.0"
[build-dependencies.blake3]
version = "=1.8.4"
[build-dependencies.sha2]
version = "=0.10.9"
[build-dependencies.syn]
version = "=2.0.90"
features = [
"full",
"visit",
"visit-mut",
]
[build-dependencies.toml]
version = "=0.8.23"
[build-dependencies.vyre-build-scan]
version = "0.1.0"
[build-dependencies.walkdir]
version = "=2.5.0"
[lints.clippy]
cast_lossless = "allow"
cast_possible_truncation = "allow"
[lints.rust]
missing_docs = "warn"
nonstandard_style = "warn"
rust_2018_idioms = "warn"
unreachable_pub = "warn"
unsafe_code = "deny"
[lints.rustdoc]
broken_intra_doc_links = "deny"
private_intra_doc_links = "warn"