что люди спрашивают как им работать с неинициализированной памятью, но раст запрещает
там поинтер можно получить
На неинициализированную память можно без проблем получить указатель, но читать из него данные или получать ссылку до записи значения - ub. А как именно реализовать, зависит от используемой структуры данных и среды исполнения.
Просто берёшь крейт uninit с Out поинтерами, да и всё, вот тебе и uninit с онли-записью. Вот я бы хотел переименования &mut в &uniq. Понимать некоторые части раста стало бы намного проще для новичков в таком случае. Например, interior mutability, когда можно по &shared изменять объекты. Или почему &uniq T инвариантен по T.
Когда с уже существующим синтаксисом написан код любые изменения это боль.
про последнее, поддерживаю
Обсуждают сегодня