// @declaration: true declare const x: any; declare function f03(): void; // error declare function f04(): void; // error declare function f05(): void; // error declare function f06(): void; // error declare function f11(): void; f11(); // ok f11<1>(); // error f11<1, 2>(); // ok f11<1, 2, 3>(); // ok f11<1, 2, 3, 4>(); // error declare function f12(a?: U): void; f12(); // ok f12("a"); // error interface i00 { } // ok interface i00 { } // error interface i01 { } // ok interface i01 { } // error interface i04 { } // error interface i05 { } // error interface i06 { } // error interface i07 { } // error interface i08 { } // error interface i09 { } type i09t00 = i09; // error type i09t01 = i09<1>; // error type i09t02 = i09<1, 2>; // ok type i09t03 = i09<1, 2, 3>; // ok type i09t04 = i09<1, 2, 3, 4>; // error interface i10 { x: T; } // error interface i10 {} // https://github.com/Microsoft/TypeScript/issues/16221 interface SelfReference {}