Comments 6
Так по идее объединения такого вида скорее аналогичны enum'ам. Есть ли в расте возможность как-нибудь влиять на их размер и выравнивание, а также дотянутся до идентификатора типа и описать его самостоятельно?
Размер enum в расте можно задавать через repr, например, repr(u8) или repr(u64). Но идентификатор типа, насколько я знаю, всегда будет храниться внутри, так что полного аналога с сишным enum добиться не получится.
Немного больше информации можно найти в "растономиконе".
Немного больше информации можно найти в "растономиконе".
Мы тут, кстати, недавно закончили Растономикон переводить.
Если что, вот нагуглилось RFC об `unsafe enum` — https://github.com/retep998/rfcs/blob/master/text/0000-unsafe-enums.md. Его даже обсуждали активно, так что, наверное, когда-нибудь сделают какое-то человеколюбивое решение.
Sign up to leave a comment.
Работа с С-объединениями (union) в Rust FFI