#string #str #no-std

no-std copy_from_str

An extension trait to copy a string into another string

10 releases (stable)

1.0.6 Sep 17, 2023
1.0.5 Jan 27, 2022
1.0.3 Jan 1, 2021
1.0.2 Jun 6, 2018
0.1.1 Mar 22, 2018

#300 in Rust patterns

Download history 630/week @ 2023-12-11 648/week @ 2023-12-18 292/week @ 2023-12-25 311/week @ 2024-01-01 312/week @ 2024-01-08 2/week @ 2024-01-15 5/week @ 2024-01-29 127/week @ 2024-02-05 470/week @ 2024-02-12 502/week @ 2024-02-19 566/week @ 2024-02-26 433/week @ 2024-03-04 494/week @ 2024-03-11 373/week @ 2024-03-18 336/week @ 2024-03-25

1,686 downloads per month
Used in errno-no-std

MIT/Apache

7KB

copy_from_str

Extension methods for copying strings into a string.

This crate provides copy_from_str function which can be used to mutate Rust strings. It works similarly to copy_from_slice from standard library except it is for strings.

Examples

use copy_from_str::CopyFromStrExt;

fn make_ascii_uppercase(mut input: &mut str) {
    let mut buffer = [0; 4];
    while let Some(ch) = input.chars().next() {
        let src = ch.to_ascii_uppercase().encode_utf8(&mut buffer);
        let (to_uppercase, rest) = { input }.split_at_mut(ch.len_utf8());
        to_uppercase.copy_from_str(src);
        input = rest;
    }
}

let mut str = String::from("Hello, world! 💯");
make_ascii_uppercase(&mut str);
assert_eq!(str, "HELLO, WORLD! 💯");

lib.rs:

Extension methods for copying strings into a string.

This crate provides copy_from_str function which can be used to mutate Rust strings. It works similarly to copy_from_slice from standard library except it is for strings.

Examples

use copy_from_str::CopyFromStrExt;

fn make_ascii_uppercase(mut input: &mut str) {
    let mut buffer = [0; 4];
    while let Some(ch) = input.chars().next() {
        let src = ch.to_ascii_uppercase().encode_utf8(&mut buffer);
        let (to_uppercase, rest) = { input }.split_at_mut(ch.len_utf8());
        to_uppercase.copy_from_str(src);
        input = rest;
    }
}

let mut str = String::from("Hello, world! 💯");
make_ascii_uppercase(&mut str);
assert_eq!(str, "HELLO, WORLD! 💯");

No runtime deps