diff options
| -rw-r--r-- | library/core/src/iter/adapters/step_by.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/library/core/src/iter/adapters/step_by.rs b/library/core/src/iter/adapters/step_by.rs index 4e11ee87f93..2458a13d987 100644 --- a/library/core/src/iter/adapters/step_by.rs +++ b/library/core/src/iter/adapters/step_by.rs @@ -1,7 +1,7 @@ use crate::convert::TryFrom; use crate::{ intrinsics, - iter::from_fn, + iter::{from_fn, TrustedLen}, ops::{Range, Try}, }; @@ -484,6 +484,12 @@ macro_rules! spec_int_ranges { acc } } + + /// Safety: This macro is only applied to ranges over types <= usize + /// which means the inner length is guaranteed to fit into a usize and so + /// the outer length calculation won't encounter clamped values + #[unstable(feature = "trusted_len", issue = "37572")] + unsafe impl TrustedLen for StepBy<Range<$t>> {} )*) } |
