On Monday, 12 November 2018 at 21:38:27 UTC, Walter Bright wrote:
On 11/12/2018 8:28 AM, 12345swordy wrote:
The issue that I see is unintended implicit conversation when passing values to functions that have both int and bool overloads.

The exact same thing happens when there are both int and short overloads.

The underlying issue is is bool a one bit integer type, or something special? D defines it as a one bit integer type, fitting it into the other integer types using exactly the same rules.

If it is to be a special type with special rules, what about the other integer types? D has a lot of basic types :-)

You nailed it on the head.

The only sensible course of action, therefore, is to give programmers the option to disable implicit conversions, completely (or if doable, more precisely).

And while you're thinking about how to do that, can you also please think about how to give the programmer the option to enforce privacy on variable/method within a module.

Programmers just want to be able to write code that is more likely to be correct, than not, and have the compiler catch it when it's not.

You want to attract such programmers, or not?

Reply via email to