Поясните пожалуйста, что Вы имеете в виду. Написанный код неверен.
Для неименованных записей бессмысленно вызывать конструктор - нет имени типа. Сделайте имя типу - всё заработает
Ещё раз. Исходя из сообщения об ошибке - компилятор пытается вызвать конструктор, то есть часть кода для этого уже работает. И не вызывает его только потому что в этой части кода есть ошибка.
Компилятор еще ничего не пытается сделать - он пытается понять код. Что значит часть кода уже работает? Если программа даже не компилируется, то ничего не работает!
И зачем Вы как-то пытаетесь улучшить код, который никогда не заработает? Конструктор этот невозможно вызвать, т.к. нет имени типа
Нет, Вы не представляете себе процесс компиляции. На уровне парсера, когда проверяются только ошибки синтаксиса, эта часть компилятора ничего не знает о конструкторах. Она опирается на грамматику языка и ищет имя после new. Не находит его и выдаёт ошибку. При этом эта часть компилятора ничего не знает о предыдущих строках - о том, что была неименованная запись кем-то зачем-то описана раньше.