<p dir="ltr">On 26 Sep 2015 6:27 am, "Manu via Digitalmars-d" <<a href="mailto:digitalmars-d@puremagic.com">digitalmars-d@puremagic.com</a>> wrote:<br>
><br>
> On 25 September 2015 at 01:47, David Nadlinger via Digitalmars-d<br>
> <<a href="mailto:digitalmars-d@puremagic.com">digitalmars-d@puremagic.com</a>> wrote:<br>
> > Hi all,<br>
> ><br>
> > [...]<br>
> > our resident Mr. Why-Can't-D-Be-More-Like-C++, Manu Evans<br>
><br>
> Bah, I'm not sure what this means. If you mean I advocate for things<br>
> that are perfect how they are in C/C++, precedented by decades of use<br>
> and millions of developers, remaining as people expect them to be...<br>
> then yes.<br>
> C++ didn't get *everything* wrong, otherwise D wouldn't be so much<br>
> like C++ to begin with. __forceinline in C++ is exactly what people<br>
> want here. The behaviour is useful, and well understood; compiler will<br>
> always inline if possible, and warn if it can't. There's nothing wrong<br>
> with C++ in this case, and I wish D would just be the same.<br>
><br>
> I'm happy for DMD to not inline anything in debug if it's technically<br>
> impossible due to compiler architecture, but it's not useful as an<br>
> error, that just forces you to remove it from your code if you want it<br>
> to compile.</p>
<p dir="ltr">Not sure of oddness of dmd, but there should be only a few reasons why a function is uninlinable, all of them being low level things such as inline assembly, calls to alloca.  Assuming that the function body is available at compile-time too. ;-)</p>