On Thu, Sep 14, 2023 at 01:51:01PM -0700, Mitchell Levy wrote: > The more I think on this issue, the more I go back and forth. If we > only had guard(...), the only way to approximate scoped guard would be > to either just do what the macro does (i.e., a dummy for loop that > only runs once) or use an anonymous scope, e.g., > { > guard(...); > my_one_statement(); > } > Since this is how I've previously used std::lock_guard in C++, this > pattern feels very familiar to me, and the scoped_guard feels almost > like syntax sugar for this. As such, I feel like including the braces > is most natural because, as Geert mentioned, it emphasizes the scope > that "should" (in my brain, at least) be there. AFAIC the anonymous scope thing doesn't much happen in kernel coding style -- although I'm sure it's there, the code-base is simply too vast to not have it *somewhere*.