content: [workspace]
  resolver="2"
  
  members = [
      "neptune-core",
      "neptune-core-cli",
      "neptune-dashboard"
  ]
  
  [workspace.lints.rust]
  missing_copy_implementations = "warn"
  missing_debug_implementations = "warn"
  unexpected_cfgs = { level = "warn", check-cfg = ['cfg(coverage,coverage_nightly)'] }
  
  [workspace.lints.clippy]
  cast_lossless = "warn"
  cloned_instead_of_copied = "warn"
  copy_iterator = "warn"
  doc_link_with_quotes = "warn"
  enum_glob_use = "warn"
  expl_impl_clone_on_copy = "warn"
  #explicit_deref_methods = "warn" # Does not play ball with proptest
  explicit_into_iter_loop = "warn"
  explicit_iter_loop = "warn"
  filter_map_next = "warn"
  flat_map_option = "warn"
  fn_params_excessive_bools = "warn"
  from_iter_instead_of_collect = "warn"
  #if_not_else = "warn" # not always an improvement; should be upheld in spirit
  inefficient_to_string = "warn"
  invalid_upcast_comparisons = "warn"
  items_after_statements = "warn"
  large_digit_groups = "warn"
  macro_use_imports = "warn"
  manual_assert = "warn"
  manual_instant_elapsed = "warn"
  manual_let_else = "warn"
  manual_ok_or = "warn"
  many_single_char_names = "warn"
  match_wild_err_arm = "warn"
  match_wildcard_for_single_variants = "warn"
  mismatching_type_param_order = "warn"
  mut_mut = "warn"
  needless_continue = "warn"
  needless_for_each = "warn"
  needless_if = "warn"
  no_effect_underscore_binding = "warn"
  option_option = "warn"
  redundant_else = "warn"
  ref_binding_to_reference = "warn"
  ref_option_ref = "warn"
  same_functions_in_if_condition = "warn"
  unchecked_duration_subtraction = "warn"
  uninlined_format_args = "allow"
  unnecessary_box_returns = "warn"
  unnecessary_join = "warn"
  unnecessary_wraps = "warn"
  unnested_or_patterns = "warn"
  unused_async = "warn"
  used_underscore_binding = "warn"
  verbose_bit_mask = "warn"
  
  # `opt-level = 3` is needed because it otherwise takes too long to sign
  # transaction with STARK proofs. The other flags are there to make compilation
  # of Triton VM faster.
  [profile.dev.package.triton-vm]
  opt-level = 0
  debug = false
  incremental = true
  debug-assertions = false
  overflow-checks = false
  
  [profile.release.package.triton-vm]
  opt-level = 3
  debug = false
  incremental = false
  debug-assertions = false
  overflow-checks = false
  
  [profile.bench.package.triton-vm]
  opt-level = 3
  debug = false
  incremental = false
  debug-assertions = false
  overflow-checks = false
  
  [profile.test.package.triton-vm]
  opt-level = 1
  debug = false
  incremental = true
  debug-assertions = false
  overflow-checks = false
  
  # Set to make compilation of Triton VM faster. Since it uses build scripts
  # that should run with `opt-level=3` set.
  [profile.test]
  build-override.opt-level = 3
  opt-level = 2                # Set to make execution of tests in this crate faster. Cf: https://github.com/Neptune-Crypto/neptune-core/issues/204
  
  [profile.release]
  build-override.opt-level = 3
  
  [profile.bench]
  build-override.opt-level = 3
  
  [profile.dev]
  build-override.opt-level = 3
  
  # The profile that 'dist' will build with
  [profile.dist]
  inherits = "release"
  lto = "thin"
  