Hi Rémi,

> It's like exposing reified type arguments, i can see these kind of change 
> back firing in at least two ways.
> It's not future proof, part of valhalla requires to change generics to allow 
> generics of value types which requires a form of reification, but we may end 
> up with a light form of reification similar to Scala type manifest (type 
> arguments are available at construction time but not after that point) 
> exposing type arguments for EnumSet will be seen as a mismatch in that case. 
> Also, we may want to introduce unmodifiable EnumSet in the future, currently 
> an unmodifiable empty EnumSet do not need to store any type argument, the 
> proposed API force us to have as many empty EnumSet as type arguments 
> combination (it's why you have one static field by type specialization in 
> C#), again it makes the proposed API not future proof.

Only the death is future proof. Everything else is debatable. (c) :-P
Empty EnumSet is not a problem. As I already said there is a workaround
(an ugly one, but it is there). The real problem is an empty EnumMap.
When the valhalla project would provide a solution to my problem, then
I’m fine with it. When not, then let us debate about an alternative solution. 
:-)

Best regards,
Andrej Golovnin 

Reply via email to