The functionality was added as the unbounded_shifts feature and stabilized in Rust 1.87: rust-lang/rust#129375
I'm proposing adding two traits: UnboundedShl/UnboundedShr, whose shape is identical to the existing WrappingShl/WrappingShr, just a different name and slightly different function.
Ideally these could be impl'd for core i*/u* as well. Possibly in pure Rust until the MSRV is 1.87+ and the core implementation can be used?