On Thursday, 2 March 2017 at 03:09:56 UTC, Stefan Koch wrote:
On Thursday, 16 February 2017 at 21:05:51 UTC, Stefan Koch
wrote:
[ ... ]
Hi Guys,
The implementation of ref parameters by itself was successful.
However they hey have one bug, which is a consquence of newCTFE
not touching dmd's state.
They cannot modify an outer parameter. (where outer means that
the parameter does not originate from a ctfe-evaluation further
up the call stack)
Cheers,
Stefan
It turn out that this was not the problem.
It was rather old code in the byte-code evaluator that dated from
a time where parameters were not considered stack values.
causing that code to copy the parameters into a temporary.
When I removed the distinction between parameters and normal
stack values I deleted the code that kept track of the parameters
that were copied into temporaries.
Since I forgot to remove the creation of those temporaries.
We ended up with the situation described above.