[workspace] members = ["lib", "macros", "tools/uniffi-bindgen"] default-members = ["lib", "macros"] resolver = "2" [profile.release] lto = true [patch.crates-io] blake2 = { path = "patches/blake2" } tsify = { path = "patches/tsify" } tsify-macros = { path = "patches/tsify/tsify-macros" } # Commented lints are currently unstable and we want to try them ASAP. [workspace.lints.rust] deprecated_safe = "warn" explicit_outlives_requirements = "warn" #fuzzy_provenance_casts = "warn" #impl_trait_overcaptures = "warn" #lossy_provenance_casts = "warn" macro_use_extern_crate = "warn" meta_variable_misuse = "warn" missing_abi = "warn" missing_docs = "warn" missing_unsafe_on_extern = "warn" #multiple_supertrait_upcastable = "warn" #must_not_suspend = "warn" non_ascii_idents = "warn" #non_exhaustive_omitted_patterns = "warn" non_local_definitions = "warn" redundant_lifetimes = "warn" single_use_lifetimes = "warn" unit_bindings = "warn" unnameable_types = "warn" unreachable_pub = "warn" unsafe_op_in_unsafe_fn = "warn" unstable_features = "warn" unused_crate_dependencies = "warn" unused_extern_crates = "warn" unused_macro_rules = "warn" unused_qualifications = "warn" unused_results = "warn" variant_size_differences = "warn" [workspace.lints.rustdoc] missing_crate_level_docs = "warn" private_doc_tests = "warn" unescaped_backticks = "warn" # Commented lints are in a newer Clippy version or tied to unstable and we want # to try them ASAP. [workspace.lints.clippy] # Pedantic pedantic = "warn" module_name_repetitions = { level = "allow", priority = 1 } similar_names = { level = "allow", priority = 1 } too_many_lines = { level = "allow", priority = 1 } # Restriction alloc_instead_of_core = { level = "warn", priority = 1 } #allow_attributes = { level = "warn", priority = 1 } #allow_attributes_without_reason = { level = "warn", priority = 1 } arithmetic_side_effects = { level = "warn", priority = 1 } as_underscore = { level = "warn", priority = 1 } big_endian_bytes = { level = "warn", priority = 1 } create_dir = { level = "warn", priority = 1 } dbg_macro = { level = "warn", priority = 1 } default_numeric_fallback = { level = "warn", priority = 1 } deref_by_slicing = { level = "warn", priority = 1 } empty_drop = { level = "warn", priority = 1 } empty_enum_variants_with_brackets = { level = "warn", priority = 1 } empty_structs_with_brackets = { level = "warn", priority = 1 } error_impl_error = { level = "warn", priority = 1 } exit = { level = "warn", priority = 1 } filetype_is_file = { level = "warn", priority = 1 } float_arithmetic = { level = "warn", priority = 1 } float_cmp_const = { level = "warn", priority = 1 } fn_to_numeric_cast_any = { level = "warn", priority = 1 } format_push_string = { level = "warn", priority = 1 } host_endian_bytes = { level = "warn", priority = 1 } impl_trait_in_params = { level = "warn", priority = 1 } indexing_slicing = { level = "warn", priority = 1 } infinite_loop = { level = "warn", priority = 1 } integer_division = { level = "warn", priority = 1 } integer_division_remainder_used = { level = "warn", priority = 1 } lossy_float_literal = { level = "warn", priority = 1 } min_ident_chars = { level = "warn", priority = 1 } missing_assert_message = { level = "warn", priority = 1 } mixed_read_write_in_expression = { level = "warn", priority = 1 } multiple_inherent_impl = { level = "warn", priority = 1 } multiple_unsafe_ops_per_block = { level = "warn", priority = 1 } mutex_atomic = { level = "warn", priority = 1 } needless_raw_strings = { level = "warn", priority = 1 } panic = { level = "warn", priority = 1 } partial_pub_fields = { level = "warn", priority = 1 } print_stderr = { level = "warn", priority = 1 } print_stdout = { level = "warn", priority = 1 } pub_without_shorthand = { level = "warn", priority = 1 } rc_buffer = { level = "warn", priority = 1 } rc_mutex = { level = "warn", priority = 1 } redundant_type_annotations = { level = "warn", priority = 1 } ref_patterns = { level = "warn", priority = 1 } renamed_function_params = { level = "warn", priority = 1 } rest_pat_in_fully_bound_structs = { level = "warn", priority = 1 } semicolon_inside_block = { level = "warn", priority = 1 } single_char_lifetime_names = { level = "warn", priority = 1 } std_instead_of_core = { level = "warn", priority = 1 } str_to_string = { level = "warn", priority = 1 } string_add = { level = "warn", priority = 1 } string_slice = { level = "warn", priority = 1 } string_to_string = { level = "warn", priority = 1 } suspicious_xor_used_as_pow = { level = "warn", priority = 1 } tests_outside_test_module = { level = "warn", priority = 1 } todo = { level = "warn", priority = 1 } try_err = { level = "warn", priority = 1 } undocumented_unsafe_blocks = { level = "warn", priority = 1 } unimplemented = { level = "warn", priority = 1 } unnecessary_safety_comment = { level = "warn", priority = 1 } unnecessary_safety_doc = { level = "warn", priority = 1 } unnecessary_self_imports = { level = "warn", priority = 1 } unneeded_field_pattern = { level = "warn", priority = 1 } unseparated_literal_suffix = { level = "warn", priority = 1 } #unused_result_ok = { level = "warn", priority = 1 } unwrap_used = { level = "warn", priority = 1 } use_debug = { level = "warn", priority = 1 } verbose_file_reads = { level = "warn", priority = 1 } # Cargo cargo = "warn" cargo_common_metadata = { level = "allow", priority = 1 }