content: [workspace]
  # smoelius: If a package that depends on `test-fuzz` is added to the workspace, then
  # cargo-test-fuzz/tests/install.rs will need to be updated.
  members = [
      "cargo-test-fuzz",
      "examples",
      "internal",
      "macro",
      "runtime",
      "serde_combinators",
      "test-fuzz",
      "testing",
      "third-party",
  ]
  resolver = "2"
  
  [workspace.dependencies]
  afl = { version = "0.15" }
  anyhow = { version = "1.0", features = ["backtrace"] }
  assert_cmd = "2.0"
  bitflags = "2.9"
  # smoelius: `cargo_metadata` 0.20.0 pulls in too many new dependencies.
  cargo_metadata = "=0.19"
  cast_checks = { version = "0.1" }
  clap = { version = "4.5", features = ["cargo", "derive", "wrap_help"] }
  ctor = "0.5"
  darling = "0.21"
  env_logger = "0.11"
  heck = "0.5"
  hex = "0.4"
  itertools = "0.14"
  log = "0.4"
  mio = { version = "1.0", features = ["os-ext", "os-poll"] }
  num_cpus = "1.17"
  num-traits = "0.2"
  option_set = "0.3"
  parse_duration = "2.1"
  predicates = "3.1"
  prettyplease = "0.2"
  proc-macro2 = "1.0"
  quote = "1.0"
  regex = "1.11"
  remain = "0.2"
  rlimit = "0.10"
  rustc_version = "0.4"
  semver = "1.0"
  serde_assert = "0.8"
  serde_json = "1.0"
  serde = { version = "1.0", features = ["derive", "rc"] }
  sha1 = "0.10"
  similar-asserts = "1.7"
  strip-ansi-escapes = "0.2"
  strum_macros = "0.27"
  subprocess = "0.2"
  syn = { version = "2.0", features = ["full", "parsing", "visit", "visit-mut"] }
  tempfile = "3.23"
  termsize = "0.1"
  walkdir = "2.5"
  xshell = "0.2"
  
  # smoelius: Internal packages
  internal = { path = "internal", package = "test-fuzz-internal", version = "=7.2.4" }
  runtime = { path = "runtime", package = "test-fuzz-runtime", version = "=7.2.4" }
  test-fuzz = { path = "test-fuzz", version = "=7.2.4" }
  test-fuzz-macro = { path = "macro", version = "=7.2.4" }
  testing = { path = "testing", package = "test-fuzz-testing" }
  
  # `serde_combinators` does not sync with `test-fuzz`'s version.
  serde_combinators = { path = "serde_combinators", version = "0.1.0" }
  
  [workspace.lints.rust.unexpected_cfgs]
  level = "deny"
  check-cfg = [
      "cfg(dylint_lib, values(any()))",
      "cfg(fuzzing)",
      "cfg(serde_default)",
  ]
  
  [workspace.lints.clippy]
  nursery = { level = "warn", priority = -1 }
  pedantic = { level = "warn", priority = -1 }
  cognitive-complexity = "allow"
  collection-is-never-read = "allow"
  manual-unwrap-or-default = "allow"
  missing-errors-doc = "allow"
  missing-panics-doc = "allow"
  multiple-bound-locations = "allow"
  option-if-let-else = "allow"
  redundant-pub-crate = "allow"
  struct-field-names = "allow"
  
  [workspace.metadata.unmaintained]
  ignore = [
      "bincode",
      "bincode_derive",
      "parse_duration",
      # https://github.com/alacritty/vte/pull/122#issuecomment-2579278540
      "utf8parse",
      "wit-bindgen-rt",
  ]
  