In current,  `dg` should is declared as `int delegate(int) pure nothrow @safe`.
Because, inside `typeof`, pureness and safety inference is suppressed in temporary.

So this line is now pure, and  line 726 is already impure. But it is a bug. This line *should* be impure.

Essentially, if a lambda literal contacts to the frame enclosing it, it should be impure.
But there is a few exceptions. In following, lambda literal is inferred to `delegate` but keeps its pureness.

```d
Bar8751 foo8751b(const int x) pure
{
    return y => x > y; // pure delegate
}
```