This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients sir-sigurd, vstinner
Date 2019-09-19.15:50:37
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1568908237.57.0.745891677087.issue38147@roundup.psfhosted.org>
In-reply-to
Content
> Here's example: https://github.com/sir-sigurd/cpython/commit/c8699d0c614a18d558216ae7d432107147c95c28.

"_Py_ASSUME((size_t)size <= MAX_LONG_DIGITS);"

Typically, such code use assert() and is removed for release build.

assert() is more for contract base programming: when the error "cannot" happen at runtime (it would be a programming error).

For other cases, I prefer to always emit code to handle the error (the error can happen, for example, the function must check inputs), even in release build.
History
Date User Action Args
2019-09-19 15:50:37vstinnersetrecipients: + vstinner, sir-sigurd
2019-09-19 15:50:37vstinnersetmessageid: <1568908237.57.0.745891677087.issue38147@roundup.psfhosted.org>
2019-09-19 15:50:37vstinnerlinkissue38147 messages
2019-09-19 15:50:37vstinnercreate