On 7/23/17 9:50 AM, Moritz Maxeiner wrote:
On Sunday, 23 July 2017 at 02:15:18 UTC, Steven Schveighoffer wrote:


struct StrawmanRange(T)
{
  ...
  void popFront() {}
}

How do you deal with ranges where `.popFront` returns the old front element (`.front` requires copying the front element if the caller wants to store it, `.popFront` can move it)?

As I said in the talk, there's not an actual library for this, it's just an idea. I would say you could probably return Any here, and infer that means the return type doesn't matter. Or you could have an attribute. The idea is to communicate in some way to the "implements" function how to create the right constraint.

-Steve

Reply via email to