[Development] BC/SC reminder: noexcept and constexpr are part of a function's contract!

Marc Mutz marc.mutz at kdab.com
Fri May 20 14:48:11 CEST 2016


Hi,

Just a reminder that you _cannot_ remove noexcept 
(Q_DECL_NOTHROW/Q_DECL_NOEXCEPT) nor constexpr 
(Q_DECL_CONSTEXPR/Q_DECL_RELAXED_CONSTEXPR) from functions that are under SC 
constraints. Adding them is ok, but removing or downgrading them from NOTHROW 
to NOEXCEPT or from CONSTEXPR to RELAXED_CONSTEXPR is binary- and source-
incompatible, resp.

Please pay attention when patches attempt to remove or downgrade these macros, 
and don't add the macros lightly.

Thanks,
Marc

-- 
Marc Mutz <marc.mutz at kdab.com> | Senior Software Engineer
KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - Qt, C++ and OpenGL Experts



More information about the Development mailing list