просто интерес, важна реализация, то есть допустим если я из функции возвращаю Int|List<Error>, то он это боксит или нет если результат int. Просто вопрос производительности. В C# сишные union например, но запихать в него референс нельзя например.
если ты возвращаешь DU структурой, то вернётся структура)))
А как с структурами это можно провернуть? Там же нет наследования
так такого не может быть, функция возращает всегда структуру с тайп тегом, только что там внутри, там либо object референс, либо там сырая память в которой может быть что угодно (как в сишном union)
кстати, да. Со структурами там будет всё интересно. расскоментируй и смотри на выхлоп декомпилятора https://sharplab.io/#v2:DYLgZgzgNAJiDUAfA9Mg2gHgMoBcBOArgMY4B8AugLABQOAngA4CmABAGID2HLAvDSy0QsA8gDtWHMCwCWonP0EsAKgHduklhHyyA5iwBUMuWnJA
>В C# сишные union например Это мы про что? Про structlayout?
да, fieldoffset, но референс к сожалению запихать нельзя
Фигню надо оставлять!
Обсуждают сегодня