Здравствуйте, VladD2, Вы писали:
_FR>>В целом кажется это можно решить анализатором кода без изменения компилятора:
VD>Ты предлагаешь полностью заместить NRT (Nullable Reference Types) и реализовать собственный анализ потока управления? Т.е. создать параллельную вселенную с закатом солнца вручную?
VD>И тебя не напрягает, что ты не сможешь в коде использовать NRT и required?
VD>Тогда зачем вообще нужен NRT?
Будет похоже, да, но это не будет "замещение".
И снова, мы же не нуллабельность, кажется, обсуждаем, а логику инициализации, то есть
required — то, что должно работать не только с NRT, но и с любым типом.
VD>А сложность такой системы ты точно правильно оцениваешь?
Мне не кажется, что это сложнее NRT. Позиция же разработчиков языка/компилятора, заключающаяся в том, что если что-то можно сделать анализатором/генератором, то так делать и следует, в целом мне понятна.
Давай лучше подумаем, что, кроме сложности, мешает сделать соответствующий анализатор? Поддержка в языке для полноценной картины, потребует нового модификатора для параметра (
C# [Proposal] init block for safe initialization of).