The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск языка программирования Rust 1.66"
Отправлено Нанонимус, 22-Дек-22 12:33 
> Написать &CStr вместо &str не намного сложнее, не находите?

Написать то не сложно, только как потом пользователи библиотеки будут вызывать эти функции? Либо макрос придётся свой городить, либо делать строку из CString, ну либо CStr::from_bytes_with_nul(b"hello\0").expect("тут нул-терминейтед-стринг, я клянусь"). В общем, неудобно это, проще принимать &str.

> небезопасны by design

Тогда интересно, в чём именно их небезопасность? Растовый тип CStr столь же безопасный как и другие типы, с учётом отдельных unsafe методов которые так же есть и у родных растовых строк. Или компилятор не в состоянии проверить инвариант литерала строки, например чтобы в середине не было нулевых байт? При этом проверять валидность utf-8 он прекрасно может

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру