[package]
edition = "2024"
name = "brink-compiler"
version = "0.0.17"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Compiler 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"
[features]
test-util = []
[lib]
name = "brink_compiler"
path = "src/lib.rs"
[[test]]
name = "driver"
path = "tests/driver.rs"
[[test]]
name = "e0xx_diagnostics"
path = "tests/e0xx_diagnostics.rs"
[[test]]
name = "fs2_await"
path = "tests/fs2_await.rs"
[[test]]
name = "golden_i078"
path = "tests/golden_i078.rs"
[[test]]
name = "issue_1504_root_content_identity"
path = "tests/issue_1504_root_content_identity.rs"
[[test]]
name = "issue_2856_builtin_shadow"
path = "tests/issue_2856_builtin_shadow.rs"
[[test]]
name = "issue_2872_e063_policy_audit"
path = "tests/issue_2872_e063_policy_audit.rs"
[[test]]
name = "issue_2960_choice_midline_comment"
path = "tests/issue_2960_choice_midline_comment.rs"
[[test]]
name = "issue_2976_alternative_midline_comment"
path = "tests/issue_2976_alternative_midline_comment.rs"
[[test]]
name = "issue_3181_flattened_content_source_location"
path = "tests/issue_3181_flattened_content_source_location.rs"
[[test]]
name = "issue_3213_source_location_golden"
path = "tests/issue_3213_source_location_golden.rs"
[[test]]
name = "issue_3354_temp_dominance"
path = "tests/issue_3354_temp_dominance.rs"
[[test]]
name = "issue_3365_empty_choice_warning"
path = "tests/issue_3365_empty_choice_warning.rs"
[[test]]
name = "issue_3373_compat_deny"
path = "tests/issue_3373_compat_deny.rs"
[[test]]
name = "issue_3383_nested_gather_divert"
path = "tests/issue_3383_nested_gather_divert.rs"
[[test]]
name = "issue_3386_inline_conditional_ids"
path = "tests/issue_3386_inline_conditional_ids.rs"
[[test]]
name = "issue_3395_lift_order"
path = "tests/issue_3395_lift_order.rs"
[[test]]
name = "issue_3401_shared_sequence_state"
path = "tests/issue_3401_shared_sequence_state.rs"
[[test]]
name = "issue_3507_glue_spring"
path = "tests/issue_3507_glue_spring.rs"
[[test]]
name = "issue_3508_choice_text_whitespace"
path = "tests/issue_3508_choice_text_whitespace.rs"
[[test]]
name = "issue_3519_function_leading_newline"
path = "tests/issue_3519_function_leading_newline.rs"
[[test]]
name = "issue_3522_function_end_glue"
path = "tests/issue_3522_function_end_glue.rs"
[[test]]
name = "issue_3523_branch_leading_newline"
path = "tests/issue_3523_branch_leading_newline.rs"
[[test]]
name = "issue_3525_call_in_slot_expression"
path = "tests/issue_3525_call_in_slot_expression.rs"
[[test]]
name = "issue_3527_visible_choice_index"
path = "tests/issue_3527_visible_choice_index.rs"
[[test]]
name = "issue_3528_temp_after_thread_spawn"
path = "tests/issue_3528_temp_after_thread_spawn.rs"
[[test]]
name = "issue_3530_elseless_newline"
path = "tests/issue_3530_elseless_newline.rs"
[[test]]
name = "issue_3531_list_contains_empty"
path = "tests/issue_3531_list_contains_empty.rs"
[[test]]
name = "issue_3532_list_origins"
path = "tests/issue_3532_list_origins.rs"
[[test]]
name = "issue_3533_blank_line_before_boundary"
path = "tests/issue_3533_blank_line_before_boundary.rs"
[[test]]
name = "issue_3534_tag_only_line"
path = "tests/issue_3534_tag_only_line.rs"
[[test]]
name = "issue_3536_function_end_empty_value"
path = "tests/issue_3536_function_end_empty_value.rs"
[[test]]
name = "issue_3538_shuffle_unpicked_order"
path = "tests/issue_3538_shuffle_unpicked_order.rs"
[[test]]
name = "issue_3556_function_end_trim_cursor"
path = "tests/issue_3556_function_end_trim_cursor.rs"
[[test]]
name = "ns_a4_ordering"
path = "tests/ns_a4_ordering.rs"
[[test]]
name = "seq_verbs"
path = "tests/seq_verbs.rs"
[[test]]
name = "t1b_dialect_gate"
path = "tests/t1b_dialect_gate.rs"
[[test]]
name = "tm3_strict_policy"
path = "tests/tm3_strict_policy.rs"
[[test]]
name = "tm4c_structs_codegen"
path = "tests/tm4c_structs_codegen.rs"
[[test]]
name = "visibility"
path = "tests/visibility.rs"
[dependencies.brink-codegen-inkb]
version = "0.0.17"
[dependencies.brink-driver]
version = "0.0.17"
[dependencies.brink-format]
version = "0.0.17"
[dependencies.brink-ir]
version = "0.0.17"
[dependencies.rowan]
version = "0.16.1"
[dependencies.thiserror]
version = "2"
[dependencies.tracing]
version = "0.1"
[dev-dependencies.serde_json]
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"