Files
loot-condition-interpreter/Cargo.toml
T
Oliver Hamlet bdeeaee9e9 Use more permissive dependency version selectors
So that dependents have more freedom in choosing versions in their dependency tree.

I've run the tests using the oldest versions allowed by the new specifiers, and they all pass.

The current release of esplugin unnecessarily requires at least unicase v2.8.1, but with that fixed, unicase v2.0.0 is fine.
2025-09-28 16:26:13 +01:00

130 lines
3.3 KiB
TOML

[package]
name = "loot-condition-interpreter"
description = "Parse and evaluate LOOT metadata condition strings."
version.workspace = true
authors.workspace = true
repository.workspace = true
license.workspace = true
edition.workspace = true
[dependencies]
crc32fast = "1"
esplugin = "6"
nom = "8"
pelite = ">= 0.9.0, < 0.11"
regex = ">= 0.2.7, < 2"
unicase = "2"
[dev-dependencies]
criterion = ">= 0.1.2, < 0.8"
tempfile = "3"
[lints]
workspace = true
[[bench]]
name = "eval"
harness = false
[workspace]
members = ["ffi"]
[workspace.package]
version = "5.3.2"
authors = ["Oliver Hamlet <oliver@ortham.net>"]
repository = "https://github.com/loot/loot-condition-interpreter.git"
license = "MIT"
edition = "2021"
# Deny some rustc lints that are allow-by-default.
[workspace.lints.rust]
ambiguous_negative_literals = "forbid"
impl_trait_overcaptures = "forbid"
let_underscore_drop = "forbid"
missing_copy_implementations = "forbid"
missing_debug_implementations = "forbid"
non_ascii_idents = "forbid"
redundant_imports = "forbid"
redundant_lifetimes = "forbid"
trivial_casts = "forbid"
trivial_numeric_casts = "forbid"
unit_bindings = "forbid"
unreachable_pub = "forbid"
unsafe_code = "deny"
[workspace.lints.clippy]
pedantic = { level = "deny", priority = -1 }
allow_attributes = "deny"
as_conversions = "forbid"
as_underscore = "forbid"
assertions_on_result_states = "deny"
big_endian_bytes = "forbid"
cfg_not_test = "forbid"
clone_on_ref_ptr = "forbid"
create_dir = "forbid"
dbg_macro = "forbid"
decimal_literal_representation = "forbid"
default_numeric_fallback = "forbid"
doc_include_without_cfg = "forbid"
empty_drop = "forbid"
error_impl_error = "deny"
exit = "forbid"
exhaustive_enums = "deny"
expect_used = "forbid"
filetype_is_file = "deny"
float_cmp_const = "forbid"
fn_to_numeric_cast_any = "forbid"
get_unwrap = "forbid"
host_endian_bytes = "forbid"
if_then_some_else_none = "forbid"
indexing_slicing = "deny"
infinite_loop = "forbid"
integer_division = "deny"
integer_division_remainder_used = "deny"
iter_over_hash_type = "deny"
let_underscore_must_use = "forbid"
lossy_float_literal = "forbid"
map_err_ignore = "forbid"
map_with_unused_argument_over_ranges = "forbid"
mem_forget = "forbid"
missing_assert_message = "deny"
missing_asserts_for_indexing = "deny"
mixed_read_write_in_expression = "forbid"
multiple_inherent_impl = "deny"
multiple_unsafe_ops_per_block = "deny"
mutex_atomic = "forbid"
mutex_integer = "forbid"
needless_raw_strings = "forbid"
non_ascii_literal = "forbid"
non_zero_suggestions = "forbid"
panic = "deny"
panic_in_result_fn = "forbid"
partial_pub_fields = "forbid"
pathbuf_init_then_push = "forbid"
precedence_bits = "forbid"
print_stderr = "forbid"
print_stdout = "forbid"
rc_buffer = "forbid"
rc_mutex = "forbid"
redundant_type_annotations = "forbid"
ref_patterns = "forbid"
rest_pat_in_fully_bound_structs = "forbid"
str_to_string = "forbid"
string_lit_chars_any = "forbid"
string_slice = "forbid"
string_to_string = "forbid"
suspicious_xor_used_as_pow = "forbid"
tests_outside_test_module = "forbid"
todo = "forbid"
try_err = "forbid"
undocumented_unsafe_blocks = "deny"
unimplemented = "forbid"
unnecessary_safety_comment = "forbid"
unneeded_field_pattern = "forbid"
unreachable = "forbid"
unused_result_ok = "forbid"
unwrap_in_result = "forbid"
unwrap_used = "deny"
use_debug = "deny"
verbose_file_reads = "forbid"