[package]
edition = "2024"
name = "cares"
version = "0.0.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Threadless, completion-driven c-ares resolver for single-threaded proactor runtimes"
readme = "README.md"
license = "MIT"
repository = "https://github.com/trunkszi/cares-rs"
[features]
default = ["pre-release"]
pre-release = ["cares-sys/pre-release"]
stable = ["cares-sys/stable"]
[lib]
name = "cares"
path = "src/lib.rs"
[[example]]
name = "dns_packet_codec_and_edns"
path = "examples/dns_packet_codec_and_edns.rs"
[[example]]
name = "proactor_shared_ring_resolver"
path = "examples/proactor_shared_ring_resolver.rs"
[[example]]
name = "standalone_resolver_and_records"
path = "examples/standalone_resolver_and_records.rs"
[[test]]
name = "adversarial_e2e"
path = "tests/adversarial_e2e.rs"
[[test]]
name = "compile_contracts"
path = "tests/compile_contracts.rs"
[[test]]
name = "library_lifecycle"
path = "tests/library_lifecycle.rs"
[[test]]
name = "mock_dns_server"
path = "tests/mock_dns_server.rs"
[[test]]
name = "proactor_lifecycle"
path = "tests/proactor_lifecycle.rs"
[[test]]
name = "proactor_stress"
path = "tests/proactor_stress.rs"
[[test]]
name = "proactor_timeout"
path = "tests/proactor_timeout.rs"
[[test]]
name = "record_and_options_tests"
path = "tests/record_and_options_tests.rs"
[[test]]
name = "resolver_lifecycle_and_framing"
path = "tests/resolver_lifecycle_and_framing.rs"
[[test]]
name = "socket_bridge_and_timer_tests"
path = "tests/socket_bridge_and_timer_tests.rs"
[[test]]
name = "socket_identity"
path = "tests/socket_identity.rs"
[dependencies.bitflags]
version = "2"
[dependencies.cares-macros]
version = "0.0.1"
[dependencies.cares-sys]
version = "0.0.1"
[dependencies.libc]
version = "0.2"
[dependencies.liburing]
version = "0.0.1"
default-features = false
package = "liburing-proactor"
[dependencies.thiserror]
version = "2"
[dev-dependencies.cares-sys]
version = "0.0.1"
[dev-dependencies.libc]
version = "0.2"
[dev-dependencies.liburing-macros]
version = "0.0.1"
default-features = false
[lints.clippy]
clone_on_copy = "deny"
cloned_instead_of_copied = "deny"
expect_used = "deny"
expl_impl_clone_on_copy = "deny"
implicit_clone = "deny"
inefficient_to_string = "deny"
let_underscore_must_use = "deny"
manual_string_new = "deny"
missing_errors_doc = "deny"
missing_panics_doc = "deny"
missing_safety_doc = "deny"
non_canonical_clone_impl = "deny"
redundant_clone = "deny"
to_string_in_format_args = "deny"
todo = "deny"
undocumented_unsafe_blocks = "deny"
unimplemented = "deny"
unnecessary_to_owned = "deny"
unwrap_used = "deny"
useless_asref = "deny"
useless_conversion = "deny"
[lints.rust]
unsafe_op_in_unsafe_fn = "deny"