Size: a a a

2020 December 30

OB

Oleg B in dlang.ru
Dark Hole
Можно, но некоторые штуки в рантайме нельзя сделать
ну вот представь, что ты можешь передать тип как переменную, что в рт функции ты можешь с ней сделать? создать переменную это типа не получится (это какой-то variant из std построенный на typeinfo должен быть под капотом, а typeinfo это прям весь жир со сборщиком и druntime)
источник

DH

Dark Hole in dlang.ru
Oleg B
ну вот представь, что ты можешь передать тип как переменную, что в рт функции ты можешь с ней сделать? создать переменную это типа не получится (это какой-то variant из std построенный на typeinfo должен быть под капотом, а typeinfo это прям весь жир со сборщиком и druntime)
И я об этом
источник

OB

Oleg B in dlang.ru
так и сейчас можно передавать typeinfo, только это не то что нужно
источник

DH

Dark Hole in dlang.ru
Хотя...
источник

OB

Oleg B in dlang.ru
NC
Я не могу сделать аля struct MyTemp { Type a; Type b; } Типы не являются first class
а можно ещё пример, зачем оно нужно?
источник

DH

Dark Hole in dlang.ru
Dark Hole
Хотя...
Таки можно создать любой тип в рантайме
источник

OB

Oleg B in dlang.ru
Dark Hole
Таки можно создать любой тип в рантайме
через Object.factory?
источник

OB

Oleg B in dlang.ru
вроде же только классы
источник

DH

Dark Hole in dlang.ru
Oleg B
через Object.factory?
Типа того, да
источник

OB

Oleg B in dlang.ru
ну так если мы про классы, то там проще всё, только они не простые типы, много имеют подкапотного и вообще без gc использовать грустно
источник

DH

Dark Hole in dlang.ru
Oleg B
ну так если мы про классы, то там проще всё, только они не простые типы, много имеют подкапотного и вообще без gc использовать грустно
Я не про D, а вообще. Можно нахуевертить создание чего угодно.
источник

DH

Dark Hole in dlang.ru
Но практического смысла я не вижу
источник

OB

Oleg B in dlang.ru
Dark Hole
Я не про D, а вообще. Можно нахуевертить создание чего угодно.
если мы про статически типизированные языки то есть сомнения
источник

EP

Egor Pugin in dlang.ru
Oleg B
ты ж на D не пишешь
если он не приватный, то это не имеет значения, если приватный, то не надо
источник

OB

Oleg B in dlang.ru
Egor Pugin
если он не приватный, то это не имеет значения, если приватный, то не надо
приватный, чисто чтобы вопросы связанные с D обсуждать
источник

EP

Egor Pugin in dlang.ru
Oleg B
приватный, чисто чтобы вопросы связанные с D обсуждать
приватный, то есть только по инвайтам, да?
источник

OB

Oleg B in dlang.ru
Egor Pugin
приватный, то есть только по инвайтам, да?
да
источник

DH

Dark Hole in dlang.ru
Oleg B
если мы про статически типизированные языки то есть сомнения
Со структурами будут проблемы, поэтому и "нахуевертить"
источник

EP

Egor Pugin in dlang.ru
Oleg B
да
да, тогда не надо
источник

OB

Oleg B in dlang.ru
Dark Hole
Со структурами будут проблемы, поэтому и "нахуевертить"
да и с простыми типами тоже, допустим куда ты положишь "всё что угодно" (тип в рт определяется)? динамически на стеке определять сколько надо? как ты потом будешь проверять использование такой переменной (можно ли её складывать, конкатенировать)? нужна будет информация о типе в рт уже после создания переменной, следовательно и проверки дальше по коду будут в рт
источник