JonasToth added inline comments.
================ Comment at: test/clang-tidy/abseil-auto-make-unique.cpp:73 + // Different type. No change. + std::unique_ptr<Base> z = make_unique<Derived>(); + std::unique_ptr<Base> z2(make_unique<Derived>()); ---------------- JonasToth wrote: > lets consider a 3 level class hierarchy. > > ``` > struct A { virtual void Something(); }; > struct B : A { void Something() override; }; > struct C : B { void Something() override; }; > > std::unique_ptr<B> b_ptr = make_unique<B>(), c_ptr = make_unique<C>(); > std::unique_ptr<B> c_ptr2 = make_unique<C>(), b_ptr2 = make_unique<B>(); > ``` > > What is the behaviour? I expect that these places break when transformed. To > avoid you can check the `VarDecl` `isSingleDecl()` (or similar, i forgot the > exact name) and only emit a fixit if it is. > Doing type transformations for the multi-definitions is tricky. `isSingleDecl()` is a member of `DeclStmt`. Repository: rCTE Clang Tools Extra https://reviews.llvm.org/D50852 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits