vsapsai added a comment.

In D66696#1663856 <https://reviews.llvm.org/D66696#1663856>, @erik.pilkington 
wrote:

> I'm a bit curious about clients that use `getCanonicalType()` to get a full 
> desugaring, instead of doing a single step. It seems like they'd still get 
> the out of date type parameter type. Has that ever worked?


Good point. I believe it never worked but don't have specific examples. Suspect 
that we haven't seen such problems because `ObjCTypeParamType` has limited 
usage before it is substituted with a concrete type.

While checking the code I've noticed we can make a small cleanup - in

  QualType getObjCTypeParamType(const ObjCTypeParamDecl *Decl,
                                ArrayRef<ObjCProtocolDecl *> protocols,
                                QualType Canonical = QualType()) const;

remove the parameter `Canonical` because no caller provides it and it's not the 
best idea to allow to provide `Canonical` type that can be inconsistent with 
`ObjCTypeParamDecl` type. Plan to do the cleanup in a separate commit.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D66696/new/

https://reviews.llvm.org/D66696



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

Reply via email to