fn first_word(s: &String) -> usize {
    let bytes = s.as_bytes();

    for (i, &item) in bytes.iter().enumerate() {
        if item == b' ' {
            return i;
        }
    }

    s.len()
}

// ANCHOR: here
fn main() {
    let mut s = String::from("witaj świecie");

    let word = first_word(&s); // word otrzyma wartość 5

    s.clear(); // To opróżnia String, który staje się równy ""

    // Tutaj word wciąż ma wartość 5, ale nie ma żadnego łańcucha znaków, z którym
    // moglibyśmy w sposób znaczący użyć wartości 5. Zmienna word jest teraz całkowicie niepoprawna!
}
// ANCHOR_END: here
