diff --git a/Cargo.toml b/Cargo.toml index a5edf01..7ef3dae 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,6 +8,7 @@ members = [ "deep_causality_macros", ] + # Optimize all crates [profile.release] opt-level = 3 @@ -15,10 +16,77 @@ strip = true # Automatically strip debug symbols from the binary lto = true # Enable Link Time Optimization (LTO) codegen-units = 1 # Reduce Parallel Code Generation Units to Increase Optimization + # There's a Cargo feature named profile-overrides # that lets you override the optimization level of dependencies. # https://docs.rust-embedded.org/book/unsorted/speed-vs-size.html [profile.release.package."*"] opt-level = 3 strip = true # Automatically strip debug symbols from the binary to reduce size -codegen-units = 1 # Reduce Parallel Code Generation Units to Increase Optimization \ No newline at end of file +codegen-units = 1 # Reduce Parallel Code Generation Units to Increase Optimization + + +[lints] +# https://internals.rust-lang.org/t/proposal-cargo-lint-configuration/9135 +# https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#lints +# +# Deny lints largely due to future incompabilities +ambiguous_glob_imports = "deny" +coherence-leak-check = "deny" +coinductive-overlap-in-coherence = "deny" +const_evaluatable_unchecked = "deny" +const_item_mutation = "deny" +const_patterns_without_partial_eq = "deny" +deref_nullptr = "deny" +elided_lifetimes_in_associated_constant = "deny" +for_loops_over_fallibles = "deny" +illegal_floating_point_literal_pattern = "deny" +indirect_structural_match = "deny" +invalid_doc_attributes = "deny" +invalid_nan_comparisons = "deny" +invalid_value = "deny" +irrefutable_let_patterns = "deny" +late_bound_lifetime_arguments = "deny" +non_fmt_panics = "deny" +overlapping_range_endpoints = "deny" +repr_transparent_external_private_fields = "deny" +semicolon_in_expressions_from_macros = "deny" +special_module_name = "deny" +trivial_bounds = "deny" +type_alias_bounds = "deny" +unconditional_recursion = "deny" +uninhabited_static = "deny" +unstable_name_collisions = "deny" +where_clauses_object_safety = "deny" + +# Warning lints +deprecated_where_clause_location = "warning" +deref_into_dyn_supertrait = "warning" +dropping_copy_types = "warning" +dropping_references = "warning" +duplicate_macro_attributes = "warning" +dyn_drop = "warning" +ellipsis_inclusive_range_patterns = "warning" +exported_private_dependencies = "warning" +forgetting_copy_types = "warning" +forgetting_references = "warning" +function_item_references = "warning" +hidden_glob_reexports = "warning" +inline_no_sanitize = "warning" +invalid_from_utf8 = "warning" +invalid_macro_export_arguments = "warning" +large_assignments = "warning" +legacy_derive_helpers = "warning" +map_unit_fn = "warning" +named_arguments_used_positionally = "warning" +non_shorthand_field_patterns = "warning" +noop_method_call = "warning" +path_statements = "warning" +private_interfaces = "warning" +unnameable_test_items = "warning" +unreachable_code = "warning" +unused_allocation = "warning" +unused_assignments = "warning" +unused_labels = "warning" +unused_macros = "warning" +while_true = "warning" \ No newline at end of file