
Well, that's true for exception_detail, but error_info has a public non-virtual destructor and might be used as a base class (I am sure it isn't, but when I just have a quick look at it when coding it doesn't say that it shouldn't).
error_info has a protected (not public) non-virtual destructor, by design.
Just checked the code provided in 1.46.1:
template