Size: a a a

Rust — русскоговорящее сообществo

2020 March 13

ДК

Денис Котляров in Rust — русскоговорящее сообществo
Вафель
Не надо компоновать это с if ибо можно тогда if let :)

matches может пригодиться если тебе надо сохранить/вернуть этот бул например
а как это будет с if let?

просто не видывал такого (знаю что и зачем if let..., но чтобы на выборке символов?)
источник

В

Вафель in Rust — русскоговорящее сообществo
Денис Котляров
а как это будет с if let?

просто не видывал такого (знаю что и зачем if let..., но чтобы на выборке символов?)
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
так значит надо ставить равно после) ...
источник

В

Вафель in Rust — русскоговорящее сообществo
Денис Котляров
так значит надо ставить равно после) ...
Ну, такой синтаксис if let...

Если что, и matches, и if let, и match, все принимают один и тот-же паттерн
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
Вафель
Ну, такой синтаксис if let...

Если что, и matches, и if let, и match, все принимают один и тот-же паттерн
да, я посмотрел реализацию matches, все как и обдумывалось)
источник

OA

Oleg Andreev in Rust — русскоговорящее сообществo
Mikail Bagishov
По-моему, наиболее вероятный сценарий - в какой-то момент будет принято решение, что через N лет устаревшая фича таки вырезается.
это можно сделать через edition. Твоя либа может включить edition=2021 и тогда у нее не будут видны депрекейтнутые в прошлом методы. Но компилятор знает что они есть и у других либ они будут работать
источник

В

Вафель in Rust — русскоговорящее сообществo
Oleg Andreev
это можно сделать через edition. Твоя либа может включить edition=2021 и тогда у нее не будут видны депрекейтнутые в прошлом методы. Но компилятор знает что они есть и у других либ они будут работать
В таком случае тащить это всё равно придётся (в std, в компиляторе), просто методы будут не доступны с новыми редакциями.  Это всё ещё просто deprecated, просто чуть более жёсткий
источник

OA

Oleg Andreev in Rust — русскоговорящее сообществo
There are only two kinds of programming languages: those people always bitch about and those nobody uses.
источник

OA

Oleg Andreev in Rust — русскоговорящее сообществo
если что-то работает и живет, оно обрастет бородой с одной стороны, и лысиной с другой
источник

AL

Andrey @ozkriff Lesnikov in Rust — русскоговорящее сообществo
Oleg Andreev
это можно сделать через edition. Твоя либа может включить edition=2021 и тогда у нее не будут видны депрекейтнутые в прошлом методы. Но компилятор знает что они есть и у других либ они будут работать
а, кстати, есть сейчас примеры методов-функций-типов, которые в rust2015 работают, а в rust2018 уже нет?
источник

В

Вафель in Rust — русскоговорящее сообществo
Я не говорю что это ужас и паника, просто констатирую факт что ошибки из std вычистить полностью практически нереально
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Andrey @ozkriff Lesnikov
а, кстати, есть сейчас примеры методов-функций-типов, которые в rust2015 работают, а в rust2018 уже нет?
Макрос try!
источник

AL

Andrey @ozkriff Lesnikov in Rust — русскоговорящее сообществo
Mikail Bagishov
Макрос try!
он просто как deprecated помечен и на его использование предупреждения выдаются, я не про это
источник

OA

Oleg Andreev in Rust — русскоговорящее сообществo
Andrey @ozkriff Lesnikov
а, кстати, есть сейчас примеры методов-функций-типов, которые в rust2015 работают, а в rust2018 уже нет?
import paths работают по-другому, не совместимо с 2015
источник

AL

Andrey @ozkriff Lesnikov in Rust — русскоговорящее сообществo
Oleg Andreev
import paths работают по-другому, не совместимо с 2015
это разве не чисто языковое изменение?
источник

OA

Oleg Andreev in Rust — русскоговорящее сообществo
а, ты про методы в стдлибе
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Andrey @ozkriff Lesnikov
он просто как deprecated помечен и на его использование предупреждения выдаются, я не про это
источник

OA

Oleg Andreev in Rust — русскоговорящее сообществo
ну когда надо введут #[edition(2018)] для двух методов с одинаковыми именами, и чтобы вызывать из cross-crate при нестыковке можно будет писать smth.foo#2018(). Если ты из более нового edition вызываешь старый метод.
источник

AL

Andrey @ozkriff Lesnikov in Rust — русскоговорящее сообществo
r# забыл
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
А, ну тогда согласен.
источник