On Saturday, September 29, 2012 03:55:48 Tommi wrote: > enum MyFruit { apple, orange, banana } > > MyFruit fruit; > > switch (fruit) > { > case apple: break; // Case expressions know what type to > case orange: break; // expect based on the switch expression > case banana: break; > }
This could be achieved by simply making it so that when a variable of an enum type is used in a switch statement, the cases permit you to omit the enum's type when referring to the enum values. None of the name inferrence stuff that you're suggesting would be required for that. Though at the moment, I believe that you could simply use with to solve the problem: with(MyFruit) { switch(fruit) { case apple: break; case orange: break; case banana: break; } } All that would be required to do it without the with would be to make it so that the compiler implicitly added the with when an enum type is used in the switch. - Jonathan M Davis