tests/cases/conformance/types/objectTypeLiteral/methodSignatures/methodSignaturesWithOverloads.ts(5,5): error TS2386: Overload signatures must all be optional or required.
tests/cases/conformance/types/objectTypeLiteral/methodSignatures/methodSignaturesWithOverloads.ts(14,5): error TS2386: Overload signatures must all be optional or required.


==== tests/cases/conformance/types/objectTypeLiteral/methodSignatures/methodSignaturesWithOverloads.ts (2 errors) ====
    // Object type literals permit overloads with optionality but they must match
    
    var c: {
        func4?(x: number): number;
        func4(s: string): string; // error, mismatched optionality
        ~~~~~
!!! error TS2386: Overload signatures must all be optional or required.
        func5?: {
            (x: number): number;
            (s: string): string;
        };
    };
    
    var c2: {
        func4<T>(x: T): number;
        func4? <T>(s: T): string; // error, mismatched optionality
        ~~~~~
!!! error TS2386: Overload signatures must all be optional or required.
        func5?: {
            <T>(x: T): number;
            <T>(s: T): string;
        };
    };