There are few stronger signals to a reviewer that the author isn't meeting the bar for due diligence.
There are few stronger signals to a reviewer that the author isn't meeting the bar for due diligence.
I'm curious why authors feel the need to state that at all. It's used almost like an "I don't take responsibility for this change" escape hatch, as though that somehow absolves them from having to put the time in to make sure the change is correct.
Hot take: Pull requests that state "I vibe-coded this..." or "I put this together with AI tool XYZ..." seem to align with "I don't understand this change as well as I should", and especially with "I didn't check this change as carefully as if I wrote it myself." 🤔
The 22nd Edition of Professional CMake: A Practical Guide is now available. It has been updated for CMake 4.1 and 4.2 (two releases combined because changes for both were pretty small).
Get it from the usual place: crascit.com/professional...
The last line effect is real:
"The probability of making a mistake in the last pasted block of code is 4 times higher than in any other block."
Quoted from the following article, if you want more background: medium.com/@Code_Analys...
Given the growing concerns non-US folks may have about conditions entering the US, attending conferences in the US is nearing "non-starter" status. As much as I love CppCon, what would y'all consider the premier C++ conference these days outside the US? @lefticus.bsky.social @hanicka.net
The 4.1 release was so minor (to me) that I didn't release an update for Professional CMake, which is the first time I've done that since the book's release.
The main focus of 4.0 was the removal of long-deprecated things. The 4.1 and 4.2 releases have been smaller in terms of new features. Projects have been slow to update their CMake policies, so dependencies are the biggest problem with moving to 4.x.
(use the branch names without the back-ticks)
Want some git fun? Create a branch in your repository called `prototype` or `constructor`. See if your git GUI tool treats it the same as your other branches. At least one popular tool pretty much won't let you do anything with it, not even check out that branch. 🤨
Since you asked about it in the talk, this post discusses in detail how symbol visibility and modules interact:
crascit.com/2024/04/04/c...
It's not a pretty story. Most folks will be disappointed with the consequences, especially if you are producing a SDK for others to consume.
This is an awesome talk! Highly recommended viewing, especially if you haven't played much with LTO or symbol visibility. I learned things, even though I've gone over most of those topics in detail before.