The following code generates a clang-tidy warning for readability-redundant-member-init.
struct foo {
std::string a;
std::string b = {};
};
However, the initializer for b is not redundant. Consider:
void expect_foo(const foo& f);
expect_foo({"hello"});
With the initializer for b present, the code is fine. Without the initializer, the code generates a missing-field-initializer warning.