Overview
Explore the progress and challenges of implementing contract support in C++17 in this CppNow conference talk. Delve into how contracts can improve collaboration between library authors and users, enhance program quality, and catch usage mistakes early. Examine the various goals and priorities driving the push for contract support, including static verification, runtime checking, security improvements, and optimization opportunities. Learn about the unified proposal that aims to address diverse needs while minimizing programmer burden. Discover the complexities of merging different design approaches and the surprising outcomes of simplification efforts. Gain insights into key aspects such as preconditions, runtime correctness, build modes, transition support, static declarations, and command-line options for contract implementation in C++.
Syllabus
Intro
The problem with contracts
Undefined behavior
Why do people want contracts
Preconditions assertions
Runtime correctness
Log violations
Complications
Runtime Optimizer
P Pointer
Post Conditions
Build Modes
Contract Proposal
Contract Details
Transition Support
Contract Runtime
Assertion Failures
Static Declarations
ABI
Commandline Options
Attributes
Taught by
CppNow