On 8/23/2017 5:35 PM, Michael V. Franklin wrote:
Consider this: Rust doesn't need a special switch to make it interoperable with
C. What's wrong with D's implementation that requires such things? Granted, D
is not Rust, but D's implementation could be improved to make it more
competitive with Rust in these use cases. For example, there is really no need
for TypeInfo if you're not doing any dynanmic casts, but the current
implementation generates it regardless.
There is a PR to make it only on demand,
https://github.com/dlang/dmd/pull/6561
but it is mired in problems that are not in the D test suite and for which no
test cases exist.
I find -betterC to be somewhat of a
copout for avoiding the hard work of improving D's implementation.
On the contrary, I view it as providing motivation for dealing with those
issues. The PR above is stalled for lack of motivation.
---
Another issue is asserts. -betterC redirects them to C's assert. Perhaps we
should abandon D's asserts? -betterC provides motivation to examine that.