On 2/2/2015 8:36 PM, Daniel Murphy wrote:
The user can modify the code to allow it to be inlined.  There are a huge number
of constructs that cause dmd's inliner to completely give up.  If a function
_must_ be inlined, the compiler needs to give an error if it fails.

A separate message with a pragmatic difficulty with your suggestion.

Different compilers will have different inlining capabilities. Different versions of the same compiler may behave differently. This means that sometimes a user may get a compilation failure, sometimes not. It's highly brittle.

So enter the workaround code. Different compilers and different versions will require different workaround code. Is this really reasonable for users to put up with? And will they really want to be running the workaround code when they upgrade the compiler and now it could have inlined it?

Reply via email to