H1 2015 Priorities and Bare-Metal Programming
via Digitalmars-d
digitalmars-d at puremagic.com
Tue Feb 3 10:28:21 PST 2015
On Tuesday, 3 February 2015 at 18:16:20 UTC, Andrei Alexandrescu
wrote:
> static assert(__traits(inlined),
> "Inlining of uart() must be supported.");
This is unworkable:
1. You want to be able to turn off inlining for debugging.
2. You would have to wait with evaluating static_assert until
after optimization since the optimizer could decide to inline it
at a late stage.
3. You should be able to take the address of the function.
Walter is right when saying that for D inlining is an
optimization and should not be part of the semantics (but you
could have an enforced hint). Querying optimization effects at
compile time creates dependencies that may lead to computations
that don't resolve.
More information about the Digitalmars-d
mailing list