#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

#277 in Rust patterns

Download history 90/week @ 2024-01-13 2/week @ 2024-01-20 10/week @ 2024-02-03 497/week @ 2024-02-10 495/week @ 2024-02-17 570/week @ 2024-02-24 342/week @ 2024-03-02 585/week @ 2024-03-09 374/week @ 2024-03-16 327/week @ 2024-03-23 350/week @ 2024-03-30 392/week @ 2024-04-06 352/week @ 2024-04-13 362/week @ 2024-04-20 290/week @ 2024-04-27

1,443 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