Feature gate: #![feature(wrapping_funnel_shifts)]
This is a tracking issue for the wrapping/checked/strict/unbounded funnel shift methods on unsigned integer types.
These extend the previously existing plain and unchecked funnel shift methods (tracked at #145686) to express additional specific overflow semantics.
Public API
impl u{8,16,32,64,128,size} {
pub const fn wrapping_funnel_shl(self, right: Self, n: u32) -> Self;
pub const fn wrapping_funnel_shr(self, right: Self, n: u32) -> Self;
pub const fn checked_funnel_shl(self, right: Self, n: u32) -> Option<Self>;
pub const fn checked_funnel_shr(self, right: Self, n: u32) -> Option<Self>;
pub const fn strict_funnel_shl(self, right: Self, n: u32) -> Self;
pub const fn strict_funnel_shr(self, right: Self, n: u32) -> Self;
pub const fn unbounded_funnel_shl(self, right: Self, n: u32) -> Self;
pub const fn unbounded_funnel_shr(self, right: Self, n: u32) -> Self;
}
Steps / History
(Remember to update the S-tracking-* label when checking boxes.)
Unresolved Questions
Feature gate:
#![feature(wrapping_funnel_shifts)]This is a tracking issue for the wrapping/checked/strict/unbounded funnel shift methods on unsigned integer types.
These extend the previously existing plain and unchecked funnel shift methods (tracked at #145686) to express additional specific overflow semantics.
Public API
Steps / History
(Remember to update the
S-tracking-*label when checking boxes.)Unresolved Questions
Footnotes
https://std-dev-guide.rust-lang.org/feature-lifecycle/stabilization.html ↩