Здравствуйте, _FRED_, Вы писали:
_FR>В целом кажется это можно решить анализатором кода без изменения компилятора: _FR>* Тип SomeType должен быть отмечен неким атрибутом _FR>* Свойства/поля/параметры/возвращаемые значения методов так же, там где это необходимо, размечаются атрибутами, говорящими, что объекты/значения в них могут быть ещё только частично проинициализированны _FR>* Как только переменная типа SomeType покидает такой вот "частично проинициализированный" контекст (например возвращается из метода, возвращаемое значение которого атрибутом не размечено), анализатор может проверить, что тип полностью инициализирован.
Ты предлагаешь полностью заместить NRT (Nullable Reference Types) и реализовать собственный анализ потока управления? Т.е. создать параллельную вселенную с закатом солнца вручную?
И тебя не напрягает, что ты не сможешь в коде использовать NRT и required?
Тогда зачем вообще нужен NRT?
А сложность такой системы ты точно правильно оцениваешь?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.