Size: a a a

2020 March 26

Т8

Т-34 85 in rust_offtopic
а не инстансы непонятных Foo
источник

MB

Mikail Bagishov in rust_offtopic
Т-34 85
нет, просто не создаёт никакого оверхеда при выборе элемента. Без каких-либо кастов. Под капотом, наверное, те же самые числа
Variant из пустых структур тоже способен не создавать оверхеда
источник

MB

Mikail Bagishov in rust_offtopic
Я хз, как там сейчас с пустыми структурами правда
источник

Т8

Т-34 85 in rust_offtopic
Mikail Bagishov
Variant из пустых структур тоже способен не создавать оверхеда
ты предлагаешь на 100 элементов энама делать 100 разных структур, рили?
источник

MB

Mikail Bagishov in rust_offtopic
Т-34 85
ты предлагаешь на 100 элементов энама делать 100 разных структур, рили?
Почему нет?
источник

MB

Mikail Bagishov in rust_offtopic
Напоминаю, что разговор теоретический
источник

MB

Mikail Bagishov in rust_offtopic
На практике я бы подождал процмакросов. Ну или заюзал enum class
источник

MB

Mikail Bagishov in rust_offtopic
Просто проблема enum class в том, что он очень слабый.
источник

Т8

Т-34 85 in rust_offtopic
Mikail Bagishov
Напоминаю, что разговор теоретический
спасибо, я понял. Дальше не интересно. Да, теоретически можно и на сях можно писать как будто есть ооп, вон есть glib, которая в vala прекрасно работает в качестве std. Но это какие-то фанатики
источник

MB

Mikail Bagishov in rust_offtopic
Вот я только что написал код:
pub enum DatabaseState {
   RevisionInfoMissing,
   Missing,
   Version { current: String, latest: String },
}
источник

Т8

Т-34 85 in rust_offtopic
Mikail Bagishov
Просто проблема enum class в том, что он очень слабый.
он нормальный
источник

MB

Mikail Bagishov in rust_offtopic
Тут enum class не поможет
источник

Т8

Т-34 85 in rust_offtopic
Mikail Bagishov
Тут enum class не поможет
да и хрен бы с ним, как будто ничего сделать без проблем нельзя
источник

MB

Mikail Bagishov in rust_offtopic
А std::variant способен дать такое же безопасное решение, что и растовый енум
источник

MB

Mikail Bagishov in rust_offtopic
Т-34 85
да и хрен бы с ним, как будто ничего сделать без проблем нельзя
Если я сделаю struct DatabaseState {
   Kind kind;
  string current;
  string latest;
},
то спровоцирую баги
источник

MB

Mikail Bagishov in rust_offtopic
Т-34 85
да и хрен бы с ним, как будто ничего сделать без проблем нельзя
Ну а хрен бы с дженериками, как будто ничего сделать без проблем нельзя
источник

Т8

Т-34 85 in rust_offtopic
Mikail Bagishov
Если я сделаю struct DatabaseState {
   Kind kind;
  string current;
  string latest;
},
то спровоцирую баги
если грамотно сделать, то багов не будет. Но ващет какой-то странный способ, неужели нет других путей?
источник

Т8

Т-34 85 in rust_offtopic
Mikail Bagishov
Ну а хрен бы с дженериками, как будто ничего сделать без проблем нельзя
ну, попробуй. Я бы не хотел писать на таком языке
источник

MB

Mikail Bagishov in rust_offtopic
Т-34 85
ну, попробуй. Я бы не хотел писать на таком языке
я тоже не пишу на Го. Потому что не люблю дебажить
источник

MB

Mikail Bagishov in rust_offtopic
Т-34 85
если грамотно сделать, то багов не будет. Но ващет какой-то странный способ, неужели нет других путей?
Я не знаю других способов.
источник