llvm/clang/test/SemaObjCXX/property-placement-new.mm

// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify -Wno-objc-root-class %s
// expected-no-diagnostics

@interface I {
  int position;
}
@property(nonatomic) int position;
@end

struct S {
  void *operator new(__SIZE_TYPE__, int);
};

template <typename T>
struct TS {
  void *operator new(__SIZE_TYPE__, T);
};

I *GetI();

int main() {
  @autoreleasepool {
    auto* i = GetI();
    i.position = 42;
    new (i.position) S;
    new (i.position) TS<double>;
  }
}