Tell Me Lies, Tell Me Lies, Tell Me Sweet Little Lies
summary
Code contains concrete lies: a compile-time query says a type is constructible via static_assert and detection idioms but construction fails at use, so SFINAE-style detection is added and a custom is_invocable trait replaces the false positives. An rvalue-qualified call operator plus by-value parameters makes temporaries degrade unexpectedly until fixed with perfect forwarding, so callables are passed as forwarding references and std::forward to preserve qualifiers and semantics; after these fixes the examples compile and behave as asserted.
AI-written summary · about
chapters (5)
related talks
56mCute C++ Tricks (and what you can learn from them): Part 2 of N
32mCute C++ Tricks, Part 2 of N: More code you should learn from and never write
58mConcept Based Testing
05mLightning Talk: Finding My First Compiler Bug
53mThe Detection Idiom - a simpler way to SFINAE
05mWhat I Learned About C++ Recently
06mConstraints not Satisfied
51mModern techniques for keeping your code dry
