Changeset 037dc57 for doc/theses/mike_brooks_MMath/background.tex
- Timestamp:
- Apr 26, 2026, 7:54:24 PM (2 days ago)
- Branches:
- master
- Children:
- 1037b4c
- Parents:
- 74accc6
- File:
-
- 1 edited
-
doc/theses/mike_brooks_MMath/background.tex (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/mike_brooks_MMath/background.tex
r74accc6 r037dc57 1185 1185 This macro-induced phenomenon led to an invalid pointer dereference (safety violation), at a run-time well after the removal at issue (costly to resolve). 1186 1186 1187 Instead, language function calls (even with inlining) handle argument mistakes locally at the call, giving a very specific error message. In the world of \CC templates, concepts were introduced to deal with this problem. Furthermo vre, language function calls use (only) C-language semantics for argument evaluation, instead of applealing to reasoning about how the semantics might play out in an invisible substitution result.1188 1189 So, avoiding a macro-centric implementation helps u ers avoid and diagnose critical mistakes.1187 Instead, language function calls (even with inlining) handle argument mistakes locally at the call, giving a very specific error message. In the world of \CC templates, concepts were introduced to deal with this problem. Furthermore, language function calls use (only) C-language semantics for argument evaluation, instead of appealing to reasoning about how the semantics might play out in an invisible substitution result. 1188 1189 So, avoiding a macro-centric implementation helps users avoid and diagnose critical mistakes. 1190 1190 1191 1191 % example of poor error message due to LQ's preprocessed integration
Note:
See TracChangeset
for help on using the changeset viewer.