This patch adds noexcept to COM interface methods. Typically these are methods with a HRESULT return type, which are not supposed to throw any exceptions. Adding noexcept reduces the number of unwind states.
Affected files:
win32/ScintillaWin.cxx
win32/SurfaceD2D.cxx
I think I looked at this before and there were hassles with deriving noexcept from an interface defined as potentially throwing. As well as Microsoft's interface definitions, there are open source versions and even Microsoft isn't consistent.
Looks related to [bugs:#2295] and [feature-requests:#1485].
Related
Bugs:
#2295Feature Requests:
#1485What specific issues did you encounter? Adding noexcept to COM methods which are final (all the ones in the patch) shouldn't cause any. Some of them (not all) are already annotated with the Microsoft specific declspec(nothrow) attribute.