shuaiwang added a comment.

In https://reviews.llvm.org/D50883#1203690, @JonasToth wrote:

> I am suprised that this does not automatically follow from the general rules. 
> At the end, smartpointers cant do anything else then 'normal' classes.
>
> The `operator+/->` were not handled before? The mutation of `SmartPtr x; 
> x->mf();` should already be catched, not?


Different from `std::vector::operator[]` which has two overloads for const and 
non-const access, `std::unique_ptr` only has one const version of `operator->`.
So for `SmartPtr x; x->mf();` we only see a const operator being invoked on 
`x`. `mf` is not a member of `SmartPtr` and the member call to `mf` is not on 
`x` directly, we never followed that far.


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D50883



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to