And that's only true if you capture by value. If you capture by reference they remain mutable.
Is there a way to force capture by const-reference by the way?
int main() {
int x = 0;
[&x] { x= 1;}(); // works
[&x=std::as_const(x)] { x= 1;}(); // error: assignment of read-only reference 'x'
}
Not very pretty, but it works.