Comments 3
Cow это не типаж, это тип.
+2
В статье есть ряд неточностей.
Во-первых, как уже написали выше, "Нас спасет типаж Cow" — это не типаж (trait), а тип (enum).
Во-вторых, "?Sized — Размер типа B может быть неизвестен во время компиляции. Это не имеет значения в нашем случае, но это означает, что типажи-объекты могут использоваться вместе с Cow." — как раз таки имеет значение: для хранения строк Cow используется в таком виде: Cow<'a, str>
, где тип str
именно безразмерный (т.е. ?Sized
). Сам Cow хранит либо ссылку на этот тип, либо конверсию этого типа в owned (т.е. написать Cow<'a, &str>
было бы ошибкой — в данном случае ссылка станет двойной).
+1
Sign up to leave a comment.
Rust: От &str к Cow