Re: continue in static foreach

2018-01-12 Thread Seb via Digitalmars-d-learn

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

2018-01-12 Thread Marc via Digitalmars-d-learn

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

2018-01-12 Thread H. S. Teoh via Digitalmars-d-learn
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

2018-01-12 Thread Marc via Digitalmars-d-learn

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?