[package]
edition = "2024"
name = "brink-analyzer"
version = "0.0.17"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cross-file semantic analysis for inkle's ink narrative scripting language"
readme = "README.md"
keywords = [
"ink",
"narrative",
"compiler",
"interactive-fiction",
]
categories = [
"compilers",
"game-development",
]
license = "MIT"
repository = "https://github.com/syynth/brink"
resolver = "2"
[lib]
name = "brink_analyzer"
path = "src/lib.rs"
[[test]]
name = "assemble_analyzer_tables"
path = "tests/assemble_analyzer_tables.rs"
[[test]]
name = "coalesce_types"
path = "tests/coalesce_types.rs"
[[test]]
name = "issue_1876_native_fn_value_typing"
path = "tests/issue_1876_native_fn_value_typing.rs"
[[test]]
name = "issue_2083_call_site_local_shadows_global"
path = "tests/issue_2083_call_site_local_shadows_global.rs"
[[test]]
name = "issue_2156_divert_arity"
path = "tests/issue_2156_divert_arity.rs"
[[test]]
name = "law_unify_order_independence"
path = "tests/law_unify_order_independence.rs"
[[test]]
name = "proptest_resolve"
path = "tests/proptest_resolve.rs"
[[test]]
name = "reserved_names_cross_crate"
path = "tests/reserved_names_cross_crate.rs"
[[test]]
name = "struct_shapes_public_api"
path = "tests/struct_shapes_public_api.rs"
[[test]]
name = "symbol_service"
path = "tests/symbol_service.rs"
[[test]]
name = "ufcs_resolution"
path = "tests/ufcs_resolution.rs"
[dependencies.brink-format]
version = "0.0.17"
[dependencies.brink-ir]
version = "0.0.17"
[dependencies.brink-project-config]
version = "0.0.17"
[dependencies.brink-syntax]
version = "0.0.17"
[dependencies.rowan]
version = "0.16.1"
[dependencies.serde]
version = "1"
features = [
"derive",
"rc",
]
[dependencies.tracing]
version = "0.1"
[dev-dependencies.brink-syntax-native]
version = "0.0.17"
[dev-dependencies.proptest]
version = "1"
[lints.clippy]
allow_attributes = "warn"
clone_on_ref_ptr = "deny"
dbg_macro = "deny"
exit = "deny"
expect_used = "deny"
implicit_clone = "deny"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
must_use_candidate = "allow"
panic = "deny"
print_stderr = "deny"
print_stdout = "deny"
rest_pat_in_fully_bound_structs = "warn"
todo = "deny"
undocumented_unsafe_blocks = "deny"
unwrap_used = "deny"
verbose_file_reads = "warn"
wildcard_dependencies = "deny"
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
trivial_casts = "deny"
trivial_numeric_casts = "deny"
unsafe_code = "deny"