Size: a a a

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

2020 March 10

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
Вафель
Можете объяснить зачем нужна эта неловкая функция? Почему нельзя просто проверить что нужный тип имплементирует Eq?
Ну блин, там же написано, что нужно проверить, что это нужно для проверки, что компоненты типа реализуют Eq. А текущий дерайв баунды вешает на тИповые параметры, а не на те типы, которые по факту используются
источник

АГ

Алексей Герасимов in Rust — русскоговорящее сообществo
Антон ⚙️
А что не так с пользовательскими литералами в C++?
тоже интересно
источник

P

Pavel in Rust — русскоговорящее сообществo
Dmitry Sokolov
Такие обертки не влияют на производительность?
> производительность
> питон
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
Антон ⚙️
Ну блин, там же написано, что нужно проверить, что это нужно для проверки, что компоненты типа реализуют Eq. А текущий дерайв баунды вешает на тИповые параметры, а не на те типы, которые по факту используются
Например вот такой дерайв, ЕМНИП, не выведется:

#[derive(PartialEq, Eq)]
enum Parsed<T: FromStr> {
   Ready(T),
   Errored(T::Err),
}
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
Pavel
Measurement unit.

Мм, ясно.
Ммммм, нерасширяемый дизайн
источник

P

Pavel in Rust — русскоговорящее сообществo
Антон ⚙️
Ммммм, нерасширяемый дизайн
там вроде несколько десятков крейтов "расширений" таких
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
Pavel
// returns Foo
fn foo() -> Foo
Самодокументированный код, чё
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
Вафель
Я в типах храню экспоненты сишных базовых единиц, дальше всё почти тривиально
"Сишных"...
источник

В

Вафель in Rust — русскоговорящее сообществo
Антон ⚙️
Ну блин, там же написано, что нужно проверить, что это нужно для проверки, что компоненты типа реализуют Eq. А текущий дерайв баунды вешает на тИповые параметры, а не на те типы, которые по факту используются
Почему просто не fn assert_eq<T: Eq>(_: &T) {}?
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
red75prime
Я как-раз про произвольные наборы, в том числе единицы, добавляемые пользователем.
Это кошмар для реализации
источник

P

Pavel in Rust — русскоговорящее сообществo
Антон ⚙️
Самодокументированный код, чё
если само-, то не нужен тот коммент
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
Вафель
Почему просто не fn assert_eq<T: Eq>(_: &T) {}?
Хз
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
Pavel
если само-, то не нужен тот коммент
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
Dollar Føølish
Просто мне кажется с единицами добаляемыми пользователем нужны уже завтипы
Завтипы не нужны, GAT-ы с вариадическими дженериками — нужны
источник

d

diabolo in Rust — русскоговорящее сообществo
народ, может разборки как раз по адресу? джерк/оффтоп?
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
Вафель
а в c++ может что-то быть так?
Variadic generics, fold expressions, NRVO, constexpr
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Но в с++ нет дженериков
источник

d

diabolo in Rust — русскоговорящее сообществo
Dollar Føølish
Но в с++ нет дженериков
темплейты никто не отменял, на этом кресты и живут — это раз. оффтоп — это два
источник

d

diabolo in Rust — русскоговорящее сообществo
Антон ⚙️
Variadic generics, fold expressions, NRVO, constexpr
+
источник