On Sunday, 10 August 2014 at 08:45:00 UTC, safety0ff wrote:
For that specific case, put it outside the switch and drop the
colon:
True, although if you repeat having to work with the type of Foo
(or Flags or something) multiple times then the with(): would let
you avoid having multiple extra levels of braces. In one of my
projects i recall having something like 2-3 levels of with mostly
carrying around flags for various enum types and it was quite
ugly.
with(a) with(b) with(c){
//code
}
I forget, but it wasn't very pretty... And there were several
functions like that, as well as static data outside of functions
that needed it. I might have ended up using aliasing, but it
wasn't a good solution, more a patch on the problem than a fix.