[PATCH] D67983: [ObjC] Diagnose implicit type coercion from ObjC 'Class' to object pointer types.

Alex Lorenz via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 6 17:36:02 PST 2020


arphaman added a comment.

@jyknight @rjmccall I'm not sure this change is 100% fine. For example, the following code no longer compiles with ARC:

  @protocol Delegate
  @end
  
  @interface X <Delegate>
  
  @end
  
  @interface Y
  @property id<Delegate> d;
  @end
  
  @implementation X
  
  + (void)foo:(Y *)y with:(X*)x {
   y.d = self; // error: assigning to 'id<Delegate>' from incompatible type 'const Class'
   y.d = x;     // fine
  }
  
  @end


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D67983





More information about the cfe-commits mailing list