Dear Peter, All, On Tue, Aug 11, 2026 at 07:58:27AM +0200, [email protected] wrote:
> Hi Jim, all, > > > I switched a bit the target, and try to do a minimal change raise to Win 10 > with modern compilers. > As cheap as possible. > > I found following issue: > > *An override may not make a weaker promise about throwing than the thing it > overrides* — because a caller holding a base pointer was told "this never > throws" and may rely on it. IMHO we should just get rid of all "throw" specifiers on methods and functions. According to [1] and [2] they are a bad idea on all C++ versions supporting them, and they disseminate our code of hidden std::unexpected() and std::terminate() calls. They were deprecated in C++11 and removed in C++17. References: 1: http://www.gotw.ca/publications/mill22.htm 2: https://devblogs.microsoft.com/oldnewthing/20180928-00/?p=99855 -- Arrigo --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
