Betrachtet man sowohl die Dokumente als auch den Code, so scheint es, dass str
ein primitiver Typ ist, während String
ein struct { Vec<u8> }
ist. Jetzt als str
zu einem ist [u8]
was String
ist zu einem Vec<u8>
, konnte nicht str
wurden definiert alsWarum ist `str` ein primitiver Typ?
struct str { slice: [u8]; }
ähnlich, wie AsciiStr definiert ist? Warum war/ist es (noch?) Als primitiv definiert?
Ah, ich dachte, dass es aufgrund der aktuellen Lösung gut genug war. Trotzdem schien es ein bisschen daneben zu sein, denn an vielen Orten wurde die Sprache reduziert, indem man Konstrukte in Standardwerte verwandelte, darum fragte ich. – llogiq
Siehe https://github.com/rust-lang/rust/issues/19036 und https://github.com/rust-lang/rust/pull/19612 –
String-Literale * und * Mustervergleich! – bluss