On 25 September 2015 at 01:47, David Nadlinger via Digitalmars-d
<digitalmars-d@puremagic.com> wrote:
> Hi all,
>
> [...]
> our resident Mr. Why-Can't-D-Be-More-Like-C++, Manu Evans

Bah, I'm not sure what this means. If you mean I advocate for things
that are perfect how they are in C/C++, precedented by decades of use
and millions of developers, remaining as people expect them to be...
then yes.
C++ didn't get *everything* wrong, otherwise D wouldn't be so much
like C++ to begin with. __forceinline in C++ is exactly what people
want here. The behaviour is useful, and well understood; compiler will
always inline if possible, and warn if it can't. There's nothing wrong
with C++ in this case, and I wish D would just be the same.

I'm happy for DMD to not inline anything in debug if it's technically
impossible due to compiler architecture, but it's not useful as an
error, that just forces you to remove it from your code if you want it
to compile. We don't have any tools in D at all to control whether
attributes like inline should or shouldn't be present between
different build configurations. We _really_ need attribute aliasing in
some form, especially since LDC/GDC have compiler-specific attributes
that DMD doesn't recognise.

Reply via email to