Regarding the proposed Binray Literals Deprecation

Nicholas Wilson iamthewilsonator at hotmail.com
Sun Sep 18 01:31:37 UTC 2022


On Wednesday, 14 September 2022 at 05:58:53 UTC, Walter Bright 
wrote:
> On 9/13/2022 7:56 PM, Steven Schveighoffer wrote:
>> But it doesn't disprove the fact that *sometimes*, hex digits 
>> aren't as clear.
>
> Does sometimes justify a language feature, when there are other 
> ways?
>
> People often complain that D has too many features. What 
> features would you say are not worth it?

`extern(C++, ns)`

It is _never_ what you want (that would be extern(C++, "ns")).

It is never what you want because, unless the entire namespace is 
contained within a single module, modA.ns is not the same thing 
as modB.ns and to "fix" it you have to add a bunch of 
cross-referencing aliases. It leads to terrible non-sensical 
errors and error messages without the aliases.

Also it blocks string expressions for StdNamespace (being either 
"std" or "std::__cxx11" or whatever it is) "just working" (you 
need to do,  `extern(C++, (StdNamespace))` to get what you 
actually want).


More information about the Digitalmars-d mailing list