Here's this code:
auto opSlice()
{
struct Range
{
Attr currentAttr;
auto front() { return currentAttr; }
void popFront() { currentAttr = currentAttr._nextAttr; }
bool empty() { return currentAttr is null; }
}
return Range(firstAttr);
}
This was originally in std.experimental.xml in domimpl.d
, and it causes LDC to segfault, but compiles fine under DMD.