[OT] Stackless fibers/coroutines
Jacob Carlborg via Digitalmars-d
digitalmars-d at puremagic.com
Mon Sep 26 23:52:54 PDT 2016
On 2016-09-26 16:31, Nick Sabalausky wrote:
> Really? I may have to look into this more then.
Yes, try compiling it next time ;)
> Hmm, well for starters, according to
> <http://dlang.org/spec/statement.html#GotoStatement>:
> "It is illegal for a GotoStatement to be used to skip initializations."
>
> Although if that's true, I don't know why that example compiled. Maybe
> because "foo" wasn't used from "case 2:" onward? Maybe it failed to
> notice the initialization since it was in an if condition? Or maybe the
> compiler forgot to implement the same "can't skip initialization" check
> for switch/case?
It's a bug [1]. But it seems that if State is replaced with a plain int,
the compiler will initialize the variable, even if it's later jumped
over. So I assume, that when it works as it supposed to, it will be
possible to jump like in C, but the compiler will still initialize the
variables.
[1] https://issues.dlang.org/show_bug.cgi?id=16549
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list