On Sunday, 10 July 2016 at 16:52:09 UTC, Ola Fosheim Grøstad
wrote:
On Sunday, 10 July 2016 at 05:03:46 UTC, Dietrich Daroch wrote:
Hi everyone (=
I've just added a new proposal to add a new attribute to
ensure TCO is applied.
The proposal is really simple, but I'm clueless on how to
implement it and also interested on getting feedback on it.
Why should it be part of the function prototype? @nogc makes
sense, because it is a guarantee for the caller.
@tco does not bring any guarantees to the caller, so you might
as well annotate the call-site with some compiler specific
feature.
Annotating every callsite seems uncomfortable, being able to
perform TCO is a property of the function and not something that
might look call-site dependant.
Ok, I see as why it can be useless for the caller, maybe this
should morph into a more general constant stack size growth
annotation, but I don't see uses other than enforcing TCO.