Meeting 5 July 2018

Rapperswil reports

  • Corentin
  • Herb Sutter
    • “I sometimes delay my trip report until the post-meeting mailing is available so that everyone can see the latest papers”
    • On contracts: “Having first-class contracts support it is the first major “step 1” of reforming error handling in C++ and applying 30 years’ worth of learnings.”
    • On std::bad_alloc: “Consider handling heap exhaustion (out-of-memory, OOM) differently from other errors.”
    • On feature test macros: “Some experts still disagree, and we respect their views, but in my view these feature test macros are an important and pragmatic help to improve the speed of adoption of new standard C++ features.”
    • Reddit thread
  • J.Daniel Garcia’s Contracts presentation and slides

Post-Rapperswil mailing

The One Ranges Proposal, by Casey Carter

The tightly-constrained design space of convenient syntaxes for generic programming

  • Corentin – there is a questionnaire at the end

The compiler (and by extension, tools) needs no syntax whatsoever to distinguish concepts, types, values, type-concepts, value-concepts.

Some people like syntax so much, Bjarne calls them the “syntax people”.

James McNellis on C++ Core Guidelines

Forward declarations

East Const Central

Twitter: string_view lifetime

|

Namespace tricks

Be Mindful with Compiler-Generated Move Constructors

function2

Improved and configurable drop-in replacement to std::function that supports move only types, multiple overloads and more.

Quote

Tom Cargill:

The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.