Here's this code:
```d
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.
