RS.CLIPPY.UNIT_RETURN_EXPECTING_ORD

Fn arguments of type Fn(...) -> Ord returning the unit type ().

This checker is a Clippy lint created by The Rust Project Contributors. The documentation shown here is a copy of the original documentation for: unit_return_expecting_ord. Copyright ©2025 The Rust Team. All rights reserved.

What it does

Checks for functions that expect closures of type Fn(...) -> Ord where the implemented closure returns the unit type. The lint also suggests to remove the semi-colon at the end of the statement if present.

Why is this bad?

Likely, returning the unit type is unintentional, and could simply be caused by an extra semi-colon. Since () implements Ord it doesn't cause a compilation error. This is the same reasoning behind the unit_cmp lint.

Known problems

If returning unit is intentional, then there is no way of specifying this without triggering needless_return lint

Example

let mut twins = vec![(1, 1), (2, 2)];
twins.sort_by_key(|x| { x.1; });