Class invariants make contract checking a synchronization question
engineeringcppcontractsconcurrencyinvariantsP3361R0 argues for flexible contract handling and examines class invariants. Its concurrency examples show why a condition over object state needs a defined synchronization boundary.