diff --git a/exports/lint-configs/.clang-tidy b/exports/lint-configs/.clang-tidy index c86d800..416d174 100644 --- a/exports/lint-configs/.clang-tidy +++ b/exports/lint-configs/.clang-tidy @@ -51,9 +51,14 @@ CheckOptions: cert-str34-c.CharTypdefsToIgnore: "int8_t" # This is necessary to allow simple classes (with all members being public) that have a - # constructor + # constructor. misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic: true + # Passing a reference counted type by reference will skip the usage of the reference count, which + # risks lifetime related bugs. + performance-unnecessary-copy-initialization.AllowedTypes: "std::shared_ptr" + performance-unnecessary-value-param.AllowedTypes: "std::shared_ptr" + # NOTE: In the naming rules below, a rule may imply another (e.g., `ClassCase` seems to imply # `AbstractClassCase`), so ideally we'd only specify the parent rule if we didn't need to # customize the child rules. However, these relationships aren't documented, so we can't rely on