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.

Reply via email to