As we've discussed on the other patch, I don't like violating the abstraction of `PartialDiagnostic` in this way. I think there are other approaches we can use to get the desired behavior without resorting to this. http://reviews.llvm.org/D3060