LINUX.ORG.RU

Rust 1.34

 ,


3

8

Вышел релиз 1.34 языка системного программирования Rust, развиваемого проектом Mozilla.

Ключевое-долгожданное:

  • Начиная с этого выпуска, Cargo может поддерживать альтернативные реестры. (Эти реестры сосуществуют с crates.io, так что вы можете писать программы, которые зависят и от crates.io и от вашего реестра.)
  • Трейты TryFrom и TryInto были стабилизированы для поддержки ошибок при преобразовании типов.

>>> Полный анонс



Проверено: Shaman007 ()

Ответ на: комментарий от VarfolomeyKote4ka

Ахах, на что я по твоему обиделся?

На то, что вас сочли неадекватом.

А еще в упор не вижу ошибки с лайфтаймами.

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

eao197 ★★★★★ ()
Ответ на: комментарий от VarfolomeyKote4ka

Я покажу.

Жду не дождусь.

Я не про твои ошибки.

Тогда про что?

Про то, что вы не видите проблемы в этом коде? https://godbolt.org/z/cZFTj8 Ну *птыть, поменяйте clang на clang-8.0.0 или на gcc. Или попробуйте использовать clang с -Werror с какой-нибудь более-менее серьезной С++ной библиотекой, вроде Asio или RapidJSON. Точка зрения переменится, уверяю.

Но царь код не пишет, поэтому живет в волшебном мире распоследних версий clang-а (или gcc, он их меняет по необходимости) и в сторонних разработках не нуждается.

eao197 ★★★★★ ()
Последнее исправление: eao197 (всего исправлений: 1)

А мне нравится раст. Сам пишу на плюсах. Растовский компилятор часто уберегает от ошибок, довольно хороший вывод ошибок компиляции, компилятор предлагает исправление этих самых ошибок, документация у языка тоже неплохая, писать тоже есть где: IDEA, vscode и любой текстовый редактор к которому можно прикруть racer. Чего то большого на расте не писал, только пару cli программ и tcp сервер, может если копнуть глубже там и раскрывается неудобство раста, но пока не почувствовал

snake266 ()
Ответ на: комментарий от snake266

А мне нравится раст.

Сам пишу на плюсах.

А на раст-то писал что-то серьезное? А то тут не один человек говорил, что нравился раст в теории, но на практике не зашел.

anonymous ()
Ответ на: комментарий от anonymous

Цитирую удаленное сообщение:

Что то там про пример ошибок раста

Да, точно, спасибо. Я не уточнил (не специально), что очень полезно когда раст подсказывает как пофиксить ошибку связанную с особенностями языка, аля sized-type. Ошибоками освобождения памяти я не страдаю, поэтому одна из кллер фич отпадает. Там еще что то писали про гонки данных в многопоточных программах, но так как потоками особо не балуюсь, то сказать сказать мне нечего.

Рекомендации обновить шланг, установить нормальную ide и заняться делом

Да за совет спасибо. Я уже второй раз задумываюсь: «А зачем мне этот раст, когда у меня есть C++»

snake266 ()
Ответ на: комментарий от snake266

Приведи уже пример. Мне это ничего не говорит.

Это что-то типа такого: https://i.imgur.com/zt7x2bC.png ?

Ошибоками освобождения памяти я не страдаю, поэтому одна из кллер фич отпадает.

Нет там никакой фичи. Там тупо всё копируется и миллиарды ограничений.

Там еще что то писали про гонки данных в многопоточных программах, но так как потоками особо не балуюсь, то сказать сказать мне нечего.

Тоже ничего нет. Просто убогая пропаганда. Вот так и действует пропаганда. Ты думаешь, что там тебе какие-то ошибки показывает, как-то что-то помогает.

На самом деле нет - у тебя просто забрали ссылки и забрали возможность шарить данные между потоками. Вот такая она - помощь. Хочешь такую же помощь - не юзай в крестах ссылки.

Да за совет спасибо.

У тебя явно неверное представление. Ты не видел нормальную ide, не видел нормальный компилятор, не видел нормальные кресты.

Вот когда у тебя будет адекватные представление - ты уже и делай выбор. А то ты сравниваешь какой-то говнокодинг на крестах 80х годов под маздайкой в блокноте и раст.

anonymous ()
Ответ на: комментарий от anonymous

А в том примере на расте была речь про лайфтаймы, которые раст автоматически «неправильно» проставил, а ругался в другом месте.

Все он правильно проставил, просто кто-то не знает, как работает lifetime elision в Rust. Времена жизни выводятся синтаксически из сигнатуры функции только, а не на основе семантики ее внутренностей. Для fn get(&self) -> &i32 у аргумента и результата будет одинаковый лайфтайм вне зависимости от логики работы самой функции. Ваша претензия к языку состоит в том, что у вас не получается сразу программировать на нем не изучив его основы.

freecoder ()