Commit Graph
2 Commits
Author SHA1 Message Date
e2f3d64dab Server trait usability fixes (#484)
- Remove defaults from trait generic type parameters (i.e. TraitName<TypeParameter = ...>) to prevent intermediate types that impl the trait from not themselves allowing the default type parameter to be overridden.

- Move common bounds up from implementers of the Service trait to the Service trait itself. This both reduces boilerplate and reduces the chances of a type having stricter bounds on the struct and fns (such as fn new()) than its Service trait impl, making it hard to find the cause of a bounds mismatch.

- Align bounds on all middleware struct blocks to match the bounds on the Service trait impls to catch mismatched bounds earlier.

- Remove unnecessary ?Sized bound on impl Service for U where U: Deref.

- Remove unnecessary default type specifications.

- Add run: cargo test --doc to test doc explicitly.

- Set the default shell to bash.

---------

Co-authored-by: Philip Homburg <philip@nlnetlabs.nl>
2025-11-21 15:18:26 +01:00
Philip Homburg f13016e299 Qname router (#353) 2024-10-28 13:51:57 +01:00