и если честно то я считаю это ошибкой, то что нельзя присваивать блоки. эта ошибка возникла тупо из за неоднозначности при парсинге. вот и все. в самой логике экмы такое не запрещено, блок это как запятая только круче:
return 1,2,3; вернет 3;
return {1+2; 3+4}; должно по идее вернуть 7 но парсер думает что мы декларируем обьект и кидает ошибку =)
Я считаю это глупостью, и я считаю что ни какой неоднозначности нет, парсер способен отличить декларацию обьекта от блока =) по крайней мере я бы сделал такой парсер.
|