This language feature is deprecated, but the lint for it is not
enabled by default. Enabling the lint and fixing all occurrences also
resolves some new Clippy lints. This does not affect the API or
behaviour of the code in any way.
The MSRV is being bumped so that `domain` can access newer language features. In particular:
- `<[u8]>::utf8_chunks()` (1.79) is very useful for processing byte strings that will _mostly_ contain valid UTF-8 text.
- `core::net` (1.77) allows us to remove our polyfills of `Ipv4Addr` etc., used when the `std` feature is disabled.
- `async fn` and return-position `impl Trait` in traits (1.75) allow us to define traits using `async fn`, avoiding the overhead of `Box<dyn Future>` for un-nameable future types.
- `Option::is_some_and()` (1.70) simplifies a very common pattern when inspecting optional values.
The MSRV bump policy is also being updated; it sets a maximum MSRV (relative to the latest stable Rust version) and documents the conditions under which a bump will occur.
* Internal message printer exposed as display_dig_style
* fix clippy lint
* rename MessagePrinter to DigPrinter and use if-let
* document display_dig_style and ZonefileFmt
* Restore 'Display' behaviour for 'SecAlg' etc
The doc comment for 'int_enum_str_decimal' explicitly states that the
'FromStr' impl expects a decimal number and that the 'Display' impl
will also output a decimal number. However, 'Display' was also adding
the mnemonic for the number.
* Print mnemonics for SecAlg etc. in ZonefileFmt comments
---------
Co-authored-by: arya dradjica <arya@nlnetlabs.nl>
This PR fixes issues that block building the "serde" feature without "std".
Specifically:
* Change the Serialize impls of ParsedName and ExtendedError to not build
strings first.
* Added a Deserialize impl to base::net:nostd::Ipv6Addr and fixed the impl
for Ipv4Addr.
responses. (#377)
This adds ComposeRequestMulti and other *Multi types. The main change is to
the stream transport, which is the only transport that implements
SendRequestMulti.
* Adds support for indicating to downstream Service impls that a certain number of bytes should be reserved (to make space for adding a TSIG RR or EDNS options during middleware post-processing).
* Adds support for strongly typed passing of arbitrary metadata between middleware that produces a type and middleware that consumes the type (e.g. passing the used TSIG key name from TSIG middleware to XFR middleware).
* Replaces the blanket impl Service for Arc with a more general impl Service for Deref.
* Removes the blanket impl Service for fn as I have multiple times been blocked from defining some other Service impl because the fn one matches, because its presence can cause very confusing compiler error messages if your impl Service for T is not quite in sync with the signature of your other impl T blocks.
* Adds an "enabled" flag to the CookiesMiddlewareSvc making it easier to create a service stack with optionally enabled layers based on runtime configuration.