Size: a a a

2021 May 27

а

а это кто in rust_offtopic
И да, в отличие от std::variant, такой юнион понятен для компилятора, поэтому когда в C++ добавят паттернматчинг, он скорее всего будет безопасным, не получится случайно прочитать значение не проверив тег
источник

goldstein опять in rust_offtopic
Ноп
Во-первых, в расте есть enum layout optimizations
Во-вторых, раст не даст тебе получить не тот вариант
источник

а

а это кто in rust_offtopic
с std::variant такой безопасности не добиться
источник

B

Börgar in rust_offtopic
в с++ с паттернматчингом можно матчить на темплейт аргумент
источник

AN

Alex Noname in rust_offtopic
Получится. Это же с++
источник

П

Пух in rust_offtopic
А, речь про плюсы. Я картофел чучуть
источник

B

Börgar in rust_offtopic
источник

а

а это кто in rust_offtopic
IntOrFloat iof = getIntOrFloat();

if (iof.tag == Int) {
   // можно использовать iof.a
}
источник

П

Пух in rust_offtopic
А красиво, блин. Уродливо, но красиво
источник

а

а это кто in rust_offtopic
ок
источник

B

Börgar in rust_offtopic
так можно еще и свои матчи придумывать
источник

AN

Alex Noname in rust_offtopic
А зачем такое, если уже есть std variant который делает юнион более безопасным.
источник

goldstein опять in rust_offtopic
Я полагаю, вопрос «как это парсить вообще» в случае с плюсами не имеет смысла, лол
источник

goldstein опять in rust_offtopic
Но это как минимум более многословно, чем раст
источник

goldstein опять in rust_offtopic
И подожди, inspect сделают кейвордом?
источник

B

Börgar in rust_offtopic
это сложный случай
источник

B

Börgar in rust_offtopic
да
источник

SS

Steel Sword in rust_offtopic
Че тут вообще творится?
источник

B

Börgar in rust_offtopic
источник

B

Börgar in rust_offtopic
вот прочтой случай
источник