fn drop(&mut self) {
                let new_len = self.idx - self.del_bytes;
                debug_assert!(new_len <= self.s.len());
                unsafe { self.s.vec.set_len(new_len) };
            }
Inserts a string slice into this `String` at a byte position.

This is an *O*(*n*) operation as it requires copying every element in the
buffer.

# Panics

Panics if `idx` is larger than the `String`'s length, or if it does not
lie on a [`char`] boundary.

# Examples

Basic usage:

```
let mut s = String::from("bar");
benchmarks/haystacks/code/rust-library.rs