What is the reasoning behind the lack of conversions when passing parameters
Atila Neves
atila.neves at gmail.com
Tue Feb 6 10:17:57 UTC 2024
On Tuesday, 6 February 2024 at 10:10:32 UTC, FeepingCreature
wrote:
> On Monday, 5 February 2024 at 09:04:23 UTC, Atila Neves wrote:
>> On Saturday, 3 February 2024 at 03:19:00 UTC, Walter Bright
>> wrote:
>>> [...]
>>
>> It got bad enough in C++ that the guideline is now to use
>> explicit on single parameter constructors:
>> https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-explicit
>
> I just don't think that "this feature can be abused" is a
> convincing argument. So what? Make it opt-in, mark it as
> dangerous, then when people use it it's on them.
>
> I don't want implicit conversion to always be enabled, I want
> it to be enabled by a keyword or UDA. @implicit or something.
> Even per-parameter would be useful!
Sure, this would definitely help. I think the lesson learned
there is that implicit conversions *by default* are a bad idea. I
don't even like integer conversions, cast if you want it.
> Honestly, if you just hardcoded implicit construction for
> `std.sumtype.SumType` I would be quite happy already.
Something I've wanted every time I've used it.
More information about the Digitalmars-d
mailing list