/* @flow */

class C { foo: string; }

// OK, `instanceof C` would be true
(Object.create(C.prototype): C);

// OK, `instanceof C` would be true
(Object.create(new C): C);

// error, object literals don't structurally match instances
({ foo: "foo" }: C);

// error, object types don't structurally match instances
type O = { foo: string; }
declare var o: O;
(o: C);

(Object.create(({}: Object)): C); // OK: AnyT might be C, who knows
