switch()

Steven Schveighoffer schveiguy at yahoo.com
Thu Feb 20 07:20:08 PST 2014


On Thu, 20 Feb 2014 10:13:27 -0500, Daniel Murphy  
<yebbliesnospam at gmail.com> wrote:

> "Steven Schveighoffer"  wrote in message  
> news:op.xbk44onleav7ka at stevens-macbook-pro.local...
>
>> What I really would be curious about is if in most D code, you see a  
>> lot more default: break; than default: assert(0);
>
> I just did a quick git-grep on the compiler source (not D, but all  
> switches do have a default thanks to the d port)
>
> With 707 "default:"s 68 had a break on either the same or next line, and  
> 249 had an assert(0).
>
> On phobos I get 22 assert(0)s vs 10 breaks with 147 defaults
>
> With druntime i get 24 assert(0)s + 5 error();s vs 11 breaks with 64  
> defaults.

Good data, but I was more thinking of people who use D, not the core  
language. The core language's developers have different behaviors than  
standard users. I'm not dismissing this data, but I would like to see more  
application statistics.

Another interesting data point would be whether any of those asserts were  
inserted after the language deprecated missing defaults, or if they  
existed beforehand.

One thing that is nice is how asserts are supported in D. It makes this a  
much easier decision.

-Steve


More information about the Digitalmars-d mailing list