[PATCH] D66696: [ObjC generics] Fix not inheriting type bounds in categories/extensions.
Volodymyr Sapsai via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 13 17:54:52 PDT 2019
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
More information about the cfe-commits
mailing list