On Thursday, 9 August 2018 at 10:47:37 UTC, Stefan Koch wrote:
Regarding the rationale:

It should be pointed out that this is a further complication of the type-system (which is already more complex than what c++ has).
That does impact generic code.

My own experience with generic code has show that it is very hard (practically impossible) to write correct code, (correct meaning here working as intended, when instantiation succeeds) even when using template constraints.


Indeed.

There is no explanation of when the additional optimizations would be actually relevant,
Usually functions that don't return abort the program anyway.

I presume Walter is talking about considering all branches that don't return to be cold and "outlining" them as much as possible so as to not pollute icache, which he already implemented. So I assume he's talking about propagating that information?

There not even an example piece of code where the newly enabled optimizations would make an impact.

The point about other system languages having this feature is actually the most substantiated one :)

It was about that is was required to be competitive which I find to be a bizarre claim. But we already have this in LDC, GDC probably has something similar (whatever corresponds to __attribute__(noreturn)),and if you care about perf you are not using DMD.


Reply via email to