# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.73"
name = "rustfix"
version = "0.8.1"
authors = [
    "Pascal Hertleif <killercup@gmail.com>",
    "Oliver Schneider <oli-obk@users.noreply.github.com>",
]
exclude = [
    "examples/*",
    "tests/*",
]
description = "Automatically apply the suggestions made by rustc"
homepage = "https://github.com/rust-lang/cargo"
documentation = "https://docs.rs/rustfix"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-lang/cargo"

[dependencies.serde]
version = "1.0.194"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.110"

[dependencies.thiserror]
version = "1.0.56"

[dependencies.tracing]
version = "0.1.37"

[dev-dependencies.anyhow]
version = "1.0.79"

[dev-dependencies.proptest]
version = "1.4.0"

[dev-dependencies.similar]
version = "2.4.0"

[dev-dependencies.tempfile]
version = "3.9.0"

[dev-dependencies.tracing-subscriber]
version = "0.3.18"
features = ["env-filter"]

[lints.clippy]
dbg_macro = "warn"
disallowed_methods = "warn"
print_stderr = "warn"
print_stdout = "warn"
self_named_module_files = "warn"

[lints.clippy.all]
level = "allow"
priority = -1

[lints.rust]
rust_2018_idioms = "warn"

[lints.rustdoc]
private_intra_doc_links = "allow"
