Re: continue in static foreach
On Saturday, 13 January 2018 at 01:07:24 UTC, Marc wrote: On Friday, 12 January 2018 at 22:03:53 UTC, H. S. Teoh wrote: On Fri, Jan 12, 2018 at 10:03:40PM +, Marc via Digitalmars-d-learn wrote: How do I use? > static foreach(enum string member; members) { >static if(isFunction!(__traits(getMember, C, member))) { >continue; >} give error: > must use labeled continue within static foreach then I tried: > outer:static foreach(enum string member; members) { >static if(isFunction!(__traits(getMember, C, member))) { >continue outer; >} give error: > Error: enclosing label outer for continue not found How do I fix it? Unfortunately, this is currently not supported. You'll have to use an else-clause to handle the case when the condition is false. T thanks It was mentioned in DIP1010, but that bit hasn't been accepted yet: https://github.com/dlang/DIPs/blob/master/DIPs/DIP1010.md#static-break-and-static-continue
Re: continue in static foreach
On Friday, 12 January 2018 at 22:03:53 UTC, H. S. Teoh wrote: On Fri, Jan 12, 2018 at 10:03:40PM +, Marc via Digitalmars-d-learn wrote: How do I use? > static foreach(enum string member; members) { >static if(isFunction!(__traits(getMember, C, member))) { >continue; >} give error: > must use labeled continue within static foreach then I tried: > outer:static foreach(enum string member; members) { >static if(isFunction!(__traits(getMember, C, member))) { >continue outer; >} give error: > Error: enclosing label outer for continue not found How do I fix it? Unfortunately, this is currently not supported. You'll have to use an else-clause to handle the case when the condition is false. T thanks
Re: continue in static foreach
On Fri, Jan 12, 2018 at 10:03:40PM +, Marc via Digitalmars-d-learn wrote: > How do I use? > > > static foreach(enum string member; members) { > > static if(isFunction!(__traits(getMember, C, member))) { > > continue; > > } > > give error: > > > must use labeled continue within static foreach > > then I tried: > > > outer:static foreach(enum string member; members) { > > static if(isFunction!(__traits(getMember, C, member))) { > > continue outer; > > } > > give error: > > > Error: enclosing label outer for continue not found > > How do I fix it? Unfortunately, this is currently not supported. You'll have to use an else-clause to handle the case when the condition is false. T -- Why waste time reinventing the wheel, when you could be reinventing the engine? -- Damian Conway
continue in static foreach
How do I use? static foreach(enum string member; members) { static if(isFunction!(__traits(getMember, C, m ember))) { continue; } give error: must use labeled continue within static foreach then I tried: outer:static foreach(enum string member; members) { static if(isFunction!(__traits(getMember, C, > member))) { continue outer; } give error: Error: enclosing label outer for continue not found How do I fix it?