Rust errors / Patterns and matching
Rust compiler error · checked with rustc 1.99.0
Rust error E0748: unterminated raw string
What it meansA raw string isn't correctly terminated because the trailing # count doesn't match its leading # count.
What rustc prints
error[E0748]: unterminated raw string --> main.rs:1:16 | 1 | let dolphins = r##"Dolphins!"#; // error! | ^ unterminated raw string | = note: this raw string should be terminated with `"##` help: consider terminating the string here | 1 | let dolphins = r##"Dolphins!"##; // error! | +
Real output of rustc 1.99.0 compiling the official example below (2021 edition). Your names and line numbers will differ; the first line is the part to match.
The compiler team's explanation
A raw string isn't correctly terminated because the trailing # count doesn't match its leading # count.
Erroneous code example:
let dolphins = r##"Dolphins!"#; // error!
To terminate a raw string, you have to have the same number of # at the end as at the beginning. Example:
let dolphins = r#"Dolphins!"#; // One `#` at the beginning, one at the end so
// all good!From rustc --explain E0748 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
- E0004non-exhaustive patterns
- E0638This error indicates that the struct, enum or enum variant must be matched non-exhaustively as it has been marked as `non_exhaustive`
- E0730cannot pattern-match on an array without a fixed length
- E0769tuple variant `E::A` written as struct variant
- E0783`...` range patterns are deprecated
Up next
Often hit nextE0004: non-exhaustive patternsA related error from the same family.Read it next →Did this answer your question?