//! Fisher-Yates in-place shuffle.
use crate::;
/// In-place Fisher-Yates shuffle.
///
/// Iterates from end to start, swapping `slice[i]` with `slice[j]`
/// where `j ∈ [0, i]` is sampled uniformly via [`gen_range_inclusive`].
/// Allocation 0; uses `[T]::swap` for each transposition. Empty or
/// 1-element slices are no-ops.