parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Баг или фича? int may not be overwritten with int, double may not be overwritten with double

Ivan Sergeev 06.02.2021 10:20

Отловил интересное явление на Parser 3.4.6 (на других версиях пока не пробовал)
@main[]	
	^if(^test[]){ + }{ - }

@test[]
	^first[]
	^first[]
	$result(true)

@first[]
	$result(1)
Будет всегда возвращать: double may not be overwritten with double, store it to variable instead
Примерно похожая ситуация может еще возвращать: int may not be overwritten with int, store it to variable instead

Проблема решается только размещением одного из вызовов метода first в переменную. Напр.:
@main[]	
	^if(^test[]){ + }{ - }

@test[]
	$a(^first[])
	^first[]
	$result(true)

@first[]
	$result(1)
Баг или фича?