Обновить
82
-0.1
Даниил Тутубалин@DandyDan

Пользователь

Отправить сообщение

Читаю на Reddit про VR Mod. Люди в восторге. Надо попробовать.

А как же квантовая запутанность?

Don't Starve очень напоминает одну карту для Warcraft, даже некоторые рецепты такие же.
Хотя, возможно, у них один и тот же геймдизайнер.

Не делать глупостей на Rust невозможно, потому что само использование Rust - уже глупость.

Так если не делать глупостей на С/С++, то всё будет прекрасно работать. Зачем нужен Rust?

Тем не менее, код, сломавший половину интернета, принадлежит подмножеству Safe Rust.

А какой-то вполне безобидный код Rust не даст даже скомпилировать.

А токенов сколько выходных?

По крайней мере, эти генераторы текста умеют расставлять знаки препинания в отличие от...

Только ускорение направлено, как и положено, в сторону центра масс.

Структуру S мы можем создать только одним способом
А потом добавляем метод, который иногда нарушает инвариант...

Ладно, про +1 ошибся ) Отредактировать уже нельзя, пусть мой позор вечно тут хранится.

В UAE особенно зелени много. И закаты такие красивые - в облачка. Воздух чистый, свежий, никакой пыли. Летом вообще красота.

Так любой перевод - это звено какой-то цепи. И если в этой цепи где-то найдётся кто-то не тот...

Тут главный вопрос звучит так: каким образом госорганы соответствующей страны могут узнать о том, что у вас где-то там остался в загашнике незакрытый счет?

Не знаю, как сейчас, раньше при оформлении турвизы нужно было предоставить выписку из банка. Ну и, наверняка, эти данные где-то запоминаются. А потом заезжаешь уже не как тур - и вуаля.

Если алгоритм написан правильно, то абсолютно без разницы, сколько внутри unsafe.

Так я о том же говорил: зачем нужны эти пляски с бубном, если можно просто взять и хорошо написать на С?

И ваш код через сырые указатели только подтверждает, что borrow checker нафиг не нужен, только мешает.

Кстати, алгоритм у вас неправильный - tail никогда не обновляется ;)
И, думаю, компилятор к этому никаких претензий не имеет ;)

Да и сделать +1 ко всем элементам списка не выйдет - значение иммутабельное:

struct LinkedListNode<T> {
    data: T,
    ...
}

Я вам никогда не смогу ответить на этот вопрос, потому что я ответил уже три раза, и все три раза вы проигнорировали мои ответы. Не собираюсь продолжать играть в "а ты купи слона", пока вы не предоставите код, подтверждающие ваши утверждения.

Конечно же код вы не предоставите, сославшись на какие-нибудь отговорки, хотя реальная причина проста - Rust на это не способен.

P.S.
Просто на всякий случай: вот такое - это не safe API.
Это сокрытие проблем от компилятора и разработчиков.

fn that_is_safe_i_guarantee(...):
   // SAFETY: постарайтесь не передавать аргументы, 
   // которые могут всё сломать
   unsafe { ... }

Можно. Я выше даже написал рецепт.

  1. Пишем unsafe код.

  2. Оборачиваем его в runtime проверки.

  3. Пишем в первой главе руководства, что всё за нас делает компилятор без оверхеда.

  4. ???

  5. PROFIT!

Сам по себе Weak не решает проблему

fn borrow_mut(&mut self) -> &mut T

Для получения ссылки на мутабельные данные нужна мутабельная ссылка на Weak. Чтобы получить мутабельную ссылку на Weak, нужна мутабельная ссылка на ту структуру, которая содержит Weak (нод списка в нашем случае). А так как список двусвязный, нужны две мутабельные ссылки, а это запрещено. Поэтому без RefCell и внутренней мутабельности не обойтись.

Вы отрицаете что у нее можно сделать безопасное API?

Если небезопасное так легко превращается в безопасное, то зачем вообще тогда нужен Rust? Просто пишем на Си и делаем безопасное API.

P.S. Поиронизирую.
"Безопасное API" в переводе с растовского означает "API, которое запрещает вам его использовать для реальных задач. Если хотите чего-то добиться, работайте с ним через unsafe на свой страх и риск".

1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность