diff --git a/include/itertools.hpp b/include/itertools.hpp index c61d0f87..5c7177ca 100644 --- a/include/itertools.hpp +++ b/include/itertools.hpp @@ -30,8 +30,12 @@ auto end(ReversedIterable r) { return std::rend(r._iterable); } +// Prevent creation of a dangling reference to a temporary rvalue template -ReversedIterable reversed(IterableT &&_iterable) { +ReversedIterable reversed(IterableT &&_iterable) = delete; + +template +ReversedIterable reversed(IterableT &_iterable) { return {_iterable}; }