It doesn't delay creation of the list and undefined (or false) items in the list can break things like while (defined $result->next).
That's why you make your iterator return an empty list when you reach the end of its list and then test using while (my ($item) = $result->next).
While I like the concept, I'm not partial to the name. Sub::Context is not much better, though slightly more descriptive; I have very little idea what to expect by just seeing that name. Sub::ContextAware is very close, but I find it slightly misleading as well, so I propose Sub::ContextAwareness. It would be even better to work "Default" into the name somewhere, but that'd get unwieldly for not too much gain.
Makeshifts last the longest.
In reply to Re: RFC: Sub::Attributes -- alter subroutine context behavior with attributes
by Aristotle
in thread RFC: Sub::Attributes -- alter subroutine context behavior with attributes
by Ovid
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |