// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`generics.js 1`] = ` class C { x:X; constructor(x:X) { this.x = x; } get():X { return this.x; } } class D { x:T; m(z:S,u:T,v):S { this.x = u; v.u = u; return z; } } var d = new D(); var o = {}; var b = d.m(true,0,o); var s:string = d.x; var n:number = o.u; class E extends C { //x:X; set(x:X):X { /*return x;*/ this.x = x; return /*this.x; */this.get(); } } var e = new E(); // error: too few arguments to inherited constructor var x:string = e.set(0); class F { } class G extends F> {} class H extends G> { x:Z; foo(x:Z) { this.x = x; } } var h1 = new H(); h1.foo(["..."]); var h2:F>>> = h1; var obj : Object = {} // error, arity 0 var fn : Function = function() { return 'foo'; } // error, arity 0 var fn : function = function() { return 'foo'; } // error, arity 0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class C { x: X; constructor(x: X) { this.x = x; } get(): X { return this.x; } } class D { x: T; m(z: S, u: T, v): S { this.x = u; v.u = u; return z; } } var d = new D(); var o = {}; var b = d.m(true, 0, o); var s: string = d.x; var n: number = o.u; class E extends C { //x:X; set(x: X): X { /*return x;*/ this.x = x; return /*this.x; */ this.get(); } } var e = new E(); // error: too few arguments to inherited constructor var x: string = e.set(0); class F {} class G extends F> {} class H extends G> { x: Z; foo(x: Z) { this.x = x; } } var h1 = new H(); h1.foo(["..."]); var h2: F>>> = h1; var obj: Object = {}; // error, arity 0 var fn: Function = function() { return "foo"; }; // error, arity 0 var fn: function = function() { return "foo"; }; // error, arity 0 `;