Feature gate: #![feature(const_str_split_at)]
This is a tracking issue for using str::split_at, str::split_at_mut, str::split_at_checked, str::split_at_mut_checked in const, which allows dividing one (mutable) string slice into two (fallibly) at an index during const-eval.
Public API
// core::str
impl str {
pub const fn split_at(&self, mid: usize) -> (&str, &str);
pub const fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str);
pub const fn split_at_checked(&self, mid: usize) -> Option<(&str, &str)>;
pub const fn split_at_mut_checked(&mut self, mid: usize) -> Option<(&mut str, &mut str)>;
}
Steps / History
Unresolved Questions
Feature gate:
#![feature(const_str_split_at)]This is a tracking issue for using
str::split_at,str::split_at_mut,str::split_at_checked,str::split_at_mut_checkedinconst, which allows dividing one (mutable) string slice into two (fallibly) at an index during const-eval.Public API
Steps / History
str::is_char_boundaryandstr::split_at*unstablyconst. #131520const_is_char_boundary#131516const_is_char_boundaryandconst_str_split_at. #134016 (comment)const_is_char_boundaryandconst_str_split_at. #134016Unresolved Questions
Footnotes
https://std-dev-guide.rust-lang.org/feature-lifecycle/stabilization.html ↩