Nick Sabalausky Wrote: > "Sean Kelly" <s...@invisibleduck.org> wrote in message > news:hfelka$rh...@digitalmars.com... > > Nick Sabalausky Wrote: > > > >> I just noticed in D1 that the values for the cases in a switch must be > >> known > >> at compile-time (btw, the docs don't seem somewhat vague on that). Is > >> this > >> also true in D2? If so, I don't suppose we could get that changed before > >> the > >> book? It's a real PITA for dynamic code. > > > > int x = 1, y = 1; > > > > switch( z ) > > { > > case x: > > ... > > case y: > > ... > > } > > > > What should this do? Throw an exception perhaps? > > As I mentioned earlier, that should be semantically equivilent to: > > int x = 1, y = 1; > > if(z == x) > { ... } > else if(z == y) > { ... } > > In fact, it's already semantically equivilent to that, except that x and y > are currently required to be known at compile-time.
D allows duplicate case values? I thought this was a compile error.