On Tuesday, 28 July 2015 at 21:28:30 UTC, Steven Schveighoffer wrote:
On 7/28/15 5:24 PM, David Nadlinger wrote:
On Tuesday, 28 July 2015 at 15:56:52 UTC, Jonathan M Davis wrote:
It[Accepting Booleans]'s far more flexible in generic code.

It's the other way round. pragma(inline) has currently *three* behaviors:

pragma(inline);
pragma(inline, true);
pragma(inline, false);

There is no way to represent those as a single boolean.

Ugh. And pragma(inline) doesn't mean what you would think it means. This is not a very good API for it, it's going to confuse everyone.

-Steve

I don't think it's terrible confusing, just deceptive.

If pragma(inline) means "attempt to inline just like the -inline compile time attribute" then it's just an ugly way of repeating yourself.

In my opinion it shouldn't be any kind of expression. How often will ever need evaluate an expression for inlining? The hint: Once in 3 programmer's lifetimes.

It should be something like:

@inline @noinline

Or some other pragma or attribute.

If I want inlining, I want inlining. If the compiler cannot inline, throw an exception. Otherwise, do as I ask. I'm not here to joke around with a compiler. I'm here to develop my programs and have the compiler be on my side, not against me.

Reply via email to