[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.5.0" esplugin = "6.1.2" nom = "8.0.0" pelite = "0.10.0" regex = "1.11.1" unicase = "2.8.1" [dev-dependencies] criterion = "0.7.0" tempfile = "3.20.0" [lints] workspace = true [[bench]] name = "eval" harness = false [workspace] members = ["ffi"] [workspace.package] version = "5.3.2" authors = ["Oliver Hamlet "] 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"