Because of the consistency.

Currently, for direct function calls, the failure of `checkPurity` and `checkSafety` is not translated to `ErrorExp`.

```
        if (f)
        {
            checkPurity(sc, f);   // purity check failure is ignored
            checkSafety(sc, f);  // safety check failure is ignored
            f->checkNestedReference(sc, loc);
        }
```

Because of that, nothrow attribute violation is properly checked later.

I think that function pointer calls should follow the behavior.