~/talk

Compile-Time Validation in C++ Programming

Talkat CppCon 2024 · on Tuesday, 2024-09-17· at 15:15· Maple 3/4/5, 6700 North Gaylord Rockies Boulevard· [rust]
name:Alon Wolf
links:none on file
slides:none on file

Claims a practical system that records every compile-time action, validates lifetimes, borrows and pointer assignments, and reports errors at the call site using stateful metaprogramming and proxy types. Demonstrates compile-time unit tests, a borrow-rule, pointer and control-flow parsers (via macros), and a working demo that fails on invalid borrows across GCC Clang and MSVC. Shows how C++26 reflection and Circle compiler extensions simplify the approach and offers the early-stage MITSI header-only library on GitHub and Compiler Explorer.

AI-written summary · about

  1. 0:00Introduction
  2. 0:31What is software validation
  3. 1:13Memory safety in C++
  4. 4:05Static vs runtime validation
  5. 6:12Early error detection
  6. 6:55Compile-time validation
  7. 8:19Static assert for errors
  8. 10:24Compile-time unit tests
  9. 11:26Enum validation with static checks
  10. 12:52C++ 26 reflection proposal
  11. 13:34Functional programming for validation
  12. 15:40Value wrappers for functions
  13. 17:03std::expected for validation
  14. 18:28Context variables and types
  15. 20:55Drawbacks of functional approach
  16. 22:37Compiler loophole for meta programming
  17. 27:12Function state validation
  18. 30:46Recording validation errors
  19. 32:08Borrow checking rules
  20. 34:41Control flow validation
  21. 38:15Live demo: compile-time validation
  22. 41:02Control flow cleanup checks
  23. 42:05Validation performance
  24. 44:37Error reporting benefits
  25. 45:41C++ 26 reflection future
  26. 47:28Compiler extensions for safety
  27. 50:01C++ safety evolution
  28. 51:47Safety beyond Rust
  29. 53:12MIT library plans
  30. 53:32Dedication to Mitsi
~/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.