mirror of
https://github.com/hickory-dns/hickory-dns.git
synced 2026-04-25 11:15:54 +03:00
[PR #3387] [MERGED] More error handling simplification #3797
Labels
No labels
blocked
breaking-change
bug
bug:critical
bug:tests
cleanup
compliance
compliance
compliance
crate:all
crate:client
crate:native-tls
crate:proto
crate:recursor
crate:resolver
crate:resolver
crate:rustls
crate:server
crate:util
dependencies
docs
duplicate
easy
easy
enhance
enhance
enhance
feature:dns-over-https
feature:dns-over-quic
feature:dns-over-tls
feature:dnsssec
feature:global_lb
feature:mdns
feature:tsig
features:edns
has workaround
ops
perf
platform:WASM
platform:android
platform:fuchsia
platform:linux
platform:macos
platform:windows
pull-request
question
test
tools
tools
trust
unclear
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/hickory-dns#3797
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/hickory-dns/hickory-dns/pull/3387
Author: @djc
Created: 12/9/2025
Status: ✅ Merged
Merged: 12/11/2025
Merged by: @djc
Base:
main← Head:rm-backtrace📝 Commits (10+)
ccc338aDrop runtime backtraces from error types1149c17proto: promote NetErrorKind to NetError83b192cproto: promote http::ErrorKind to http::Error6a4c0e6proto: drop http error and Result aliases77bc599proto: fold http error module into http root2691f09proto: fold http::response module into http root8ae7a69proto: move http constants down6e18bf2proto: fold http::request module into http root06c1b9dproto: move http to be a single file4191db3proto: fold http::Error into NetError📊 Changes
108 files changed (+1386 additions, -2362 deletions)
View changed files
📝
.github/dependabot.yml(+0 -3)📝
Cargo.lock(+1 -62)📝
Cargo.toml(+0 -1)📝
bin/Cargo.toml(+2 -0)📝
bin/benches/comparison_benches.rs(+4 -3)📝
bin/src/lib.rs(+23 -5)📝
bin/tests/integration/named_metrics_tests.rs(+2 -5)📝
crates/proto/Cargo.toml(+0 -3)📝
crates/proto/README.md(+1 -2)📝
crates/proto/src/client/dnssec_client.rs(+5 -6)📝
crates/proto/src/client/mod.rs(+13 -26)📝
crates/proto/src/client/rc_stream.rs(+4 -4)📝
crates/proto/src/dnssec/crypto.rs(+7 -7)📝
crates/proto/src/dnssec/handle.rs(+18 -23)📝
crates/proto/src/dnssec/mod.rs(+15 -85)📝
crates/proto/src/dnssec/rdata/tsig.rs(+5 -5)📝
crates/proto/src/dnssec/signer.rs(+2 -2)📝
crates/proto/src/dnssec/tsig.rs(+3 -3)📝
crates/proto/src/error.rs(+102 -200)📝
crates/proto/src/h2/h2_client_stream.rs(+11 -21)...and 80 more files
📄 Description
This starts from the premise of removing the backtrace feature and then sort of meanders from there...
IMO the backtrace feature is something that most Rust libraries don't use, and as long as we otherwise keep our error handling reasonably up to snuff, I don't think we need it to generate good errors. We can always refine our errors if some errors end up being too unclear about what's going on. The error/kind split imposed a good deal of complexity that would be nice to get rid of.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.