Hi Arrigo, Am 12. August 2026 09:04:38 MESZ schrieb Arrigo Marchiori <[email protected]>: >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. Good find. I will check and remove if possible. > >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 >
--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
