debuginfod 0.3.0

A crate for interacting with debuginfod servers.
Documentation
[package]
name = "debuginfod"
version = "0.3.0"
edition = "2021"
rust-version = "1.64"
license = "Apache-2.0 OR MIT"
homepage = "https://github.com/d-e-s-o/debuginfod"
repository = "https://github.com/d-e-s-o/debuginfod.git"
documentation = "https://docs.rs/debuginfod"
readme = "README.md"
categories = [
  "api-bindings",
  "caching",
  "development-tools",
  "filesystem",
]
keywords = [
  "debuginfod",
  "api",
  "debugging",
  "dwarf",
  "tracing",
]
description = """
A crate for interacting with debuginfod servers.
"""

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[features]
default = ["fs-cache", "reqwest"]
# Enable support for file system based caching.
fs-cache = ["dep:dirs", "dep:tempfile"]
# Provide an HTTP client implementation based on reqwest.
reqwest = ["dep:reqwest"]
# Enable support for emitting traces.
tracing = ["dep:tracing"]

[dependencies]
anyhow = "1.0.68"
dirs = {version = "6.0", default-features = false, optional = true}
http = "1.3.1"
reqwest = {version = "0.12.4", default-features = false, features = ["blocking", "gzip", "rustls-tls"], optional = true}
tempfile = {version = "3.10.1", default-features = false, optional = true}
tracing = {version = "0.1.27", default-features = false, optional = true}
url = "2.5.7"

[dev-dependencies]
debuginfod = {path = ".", features = ["reqwest"]}
blazesym = {version = "0.2", default-features = false}
tempfile = {version = "3.10.1", default-features = false}
test-fork = {version = "0.1.3", default-features = false}
# A set of unused dependencies that we require to force correct minimum versions
# of transitive dependencies, for cases where our dependencies have incorrect
# dependency specifications themselves.
# error: cannot find macro `log_enabled` in this scope
_log_unused = { package = "log", version = "0.4.6" }
# error[E0277]: the trait bound `Version: From<({integer}, {integer}, {integer})>` is not satisfied
_rustc_version_unused = { package = "rustc_version", version = "0.2.2" }

[lints.rust]
deprecated-safe = "warn"
future-incompatible = "warn"
keyword-idents = "warn"
let-underscore = "warn"
missing-debug-implementations = "warn"
missing-docs = "warn"
trivial-numeric-casts = "warn"
unsafe-op-in-unsafe-fn = "warn"
unused = "warn"

[lints.clippy]
collapsible-else-if = "allow"
collapsible-if = "allow"
diverging-sub-expression = "allow"
let-and-return = "allow"
let-unit-value = "allow"
module-inception = "allow"
type-complexity = "allow"
absolute-paths = "warn"
allow-attributes = "warn"
clone-on-ref-ptr = "warn"
dbg-macro = "warn"
derive-partial-eq-without-eq = "warn"
doc-markdown = "warn"
join-absolute-paths = "warn"
large-enum-variant = "warn"
multiple-unsafe-ops-per-block = "warn"
redundant-closure-for-method-calls = "warn"
unchecked-duration-subtraction = "warn"
undocumented-unsafe-blocks = "warn"
uninlined-format-args = "warn"
use-self = "warn"
wildcard-imports = "warn"

# https://docs.rs/about/metadata
[package.metadata.docs.rs]
all-features = true
# defines the configuration attribute `docsrs`
rustdoc-args = ["--cfg", "docsrs"]