*Sorry Clement, maybe I am stupid but it is not clear for me.* *If I put halt after "CAN'T REACH" I got debugger which means that it "can reach".* *Maybe by "CAN'T REACH" you mean that any return value will not be used? But it is not true: if I return something it will be result of original assignment expression. But as you said it could crash VM.*
Ok I tried and I can see that. This is why I have bugs. Well "CAN'T REACH" was supposed to mean it cannot be reached, I don't understand how it could be reached. On Thu, Jan 26, 2017 at 10:18 AM, Denis Kudriashov <dionisi...@gmail.com> wrote: > > 2017-01-26 8:11 GMT+01:00 Clément Bera <bera.clem...@gmail.com>: > >> The "CAN'T REACH" comment is there because execution never reach that >> part of the code. If you write code there, it will never be executed. The >> process code performs a return without pushing any value on stack. >> > > Sorry Clement, maybe I am stupid but it is not clear for me. > If I put halt after "CAN'T REACH" I got debugger which means that it "can > reach". > Maybe by "CAN'T REACH" you mean that any return value will not be used? > But it is not true: if I return something it will be result of original > assignment expression. But as you said it could crash VM. > > >> >> Signalling an error is safe if the error is never resumed. But you'll >> need the returnNoValue for performance intensive modification tracking. >> > > Do you have reproducible test case to crash VM when #attemptToAssign is > badly implemented? It will help for framework implementation and would be > nice description for method. In comment we can point to it. Because this > magic with forking process is very confusing. > Also I not get your "returnNoValue" sentence. >