================ @@ -76,6 +136,16 @@ bool foo(Y *y, Z *z) { // CHECK-MESSAGES: :[[@LINE-2]]:7: warning: isa_and_nonnull<> is preferred // CHECK-FIXES: if (isa_and_nonnull<Y>(z->bar())) + if (z->bar() && cast_or_null<Y>(z->bar())) + return true; + // CHECK-MESSAGES: :[[@LINE-2]]:7: warning: isa_and_nonnull<> is preferred + // CHECK-FIXES: if (isa_and_nonnull<Y>(z->bar())) + + if (z->bar() && cast_if_present<Y>(z->bar())) + return true; + // CHECK-MESSAGES: :[[@LINE-2]]:7: warning: isa_and_nonnull<> is preferred + // CHECK-FIXES: if (isa_and_nonnull<Y>(z->bar())) ---------------- zwuis wrote:
> What default option should we use here I have no idea. 🤦 We still don't reach a consense on preferring `isa_and_nonnull` or `isa_and_present`. https://discourse.llvm.org/t/psa-swapping-out-or-null-with-if-present/65018 https://github.com/llvm/llvm-project/pull/155982 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits