diff options
| author | Kornel <kornel@geekhood.net> | 2025-06-19 16:55:33 +0100 |
|---|---|---|
| committer | Kornel <kornel@geekhood.net> | 2025-06-19 16:55:40 +0100 |
| commit | c109b28ac403dc1943b117eeef5e9a125cf26a69 (patch) | |
| tree | 8f5442d7df5a3e5c6ef1f0657f96cf8e955869ad | |
| parent | b26dfa175c302f7752192ac20844fbff0c1d06c2 (diff) | |
| download | rust-c109b28ac403dc1943b117eeef5e9a125cf26a69.tar.gz rust-c109b28ac403dc1943b117eeef5e9a125cf26a69.zip | |
Add #[track_caller] to String methods that assert inputs
| -rw-r--r-- | library/alloc/src/string.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/library/alloc/src/string.rs b/library/alloc/src/string.rs index 1b24118660f..0f89186aaa4 100644 --- a/library/alloc/src/string.rs +++ b/library/alloc/src/string.rs @@ -1463,6 +1463,7 @@ impl String { /// ``` #[inline] #[stable(feature = "rust1", since = "1.0.0")] + #[track_caller] pub fn truncate(&mut self, new_len: usize) { if new_len <= self.len() { assert!(self.is_char_boundary(new_len)); @@ -1518,6 +1519,7 @@ impl String { /// ``` #[inline] #[stable(feature = "rust1", since = "1.0.0")] + #[track_caller] #[rustc_confusables("delete", "take")] pub fn remove(&mut self, idx: usize) -> char { let ch = match self[idx..].chars().next() { @@ -1712,6 +1714,7 @@ impl String { /// ``` #[cfg(not(no_global_oom_handling))] #[inline] + #[track_caller] #[stable(feature = "rust1", since = "1.0.0")] #[rustc_confusables("set")] pub fn insert(&mut self, idx: usize, ch: char) { @@ -1768,6 +1771,7 @@ impl String { /// ``` #[cfg(not(no_global_oom_handling))] #[inline] + #[track_caller] #[stable(feature = "insert_str", since = "1.16.0")] #[rustc_diagnostic_item = "string_insert_str"] pub fn insert_str(&mut self, idx: usize, string: &str) { @@ -1961,6 +1965,7 @@ impl String { /// assert_eq!(s, ""); /// ``` #[stable(feature = "drain", since = "1.6.0")] + #[track_caller] pub fn drain<R>(&mut self, range: R) -> Drain<'_> where R: RangeBounds<usize>, @@ -2060,6 +2065,7 @@ impl String { /// ``` #[cfg(not(no_global_oom_handling))] #[stable(feature = "splice", since = "1.27.0")] + #[track_caller] pub fn replace_range<R>(&mut self, range: R, replace_with: &str) where R: RangeBounds<usize>, |
