~/talk

Contracts programming after C++17

Talkat ACCU 2017 · 2017-04-24..04-29· [compilers-and-language-design]
links:none on file
slides:none on file

Proposal targets C++20 and adds language-level contracts with new attributes expects/ensures/assert, three assertion levels default/audit/axiom and three build modes that control checking. Default on violation is program termination, toolchain can install a global violation handler and enable a continuation mode that resumes execution (undefined behavior if optimized away). Contracts are annotations (not part of function type), must match across declarations and overrides, work with templates and lambdas, and implementations are pending; use GSL as a today workaround.

AI-written summary · about

  1. 0:00Start
  2. 4:13Why correctness?
  3. 6:39Why are we here?
  4. 10:54Contracts in C++
  5. 13:54Correctness and Robustness
  6. 15:44Exceptions in use
  7. 19:03Robustness in the C++ standard library
  8. 23:22Correctness and contracts
  9. 24:30Correctness in the C++ standard library
  10. 25:15Can we do it better?
  11. 29:17What is a contract?
  12. 30:22Expectations
  13. 32:33Assurances
  14. 34:38Assertions
  15. 43:05Effect of contracts
  16. 49:18Repeating a contract
  17. 51:49Assertion level
  18. 53:16Audit checks
  19. 54:19Axiom checks
  20. 57:50Build levels
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.