On 10/03/2013, at 1:58 PM, john skaller wrote: > New rules implemented. The build works unmodified. > Tests still running but most work.
> This is implemented and supposed to work but doesn't parse: > > ////////////////////// > open class My > { > union MyOpt[T] = | MyNone | MySome of T; > } > > proc showz (x:MyOpt[MyOpt[int]]) > { > match x with > | MySome (MySome a) => println$ "MySome (MySome "+str a+"))"; > | MySome My::MyNone => println$ "MySome MyNone"; > | MyNone => println$ "MyNone"; > endmatch; > } > > > showz (MySome (MySome 22)); > showz (MySome MyNone[int]); > showz (MyNone[MyOpt[int]]); > ////////////////////// Rule change. Qualified constructor names are banned. Reason: we always know the union type within which to find the constructor. So the qualification is useless. -- john skaller skal...@users.sourceforge.net http://felix-lang.org ------------------------------------------------------------------------------ Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the endpoint security space. For insight on selecting the right partner to tackle endpoint security challenges, access the full report. http://p.sf.net/sfu/symantec-dev2dev _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language