tests/cases/conformance/jsdoc/test.js(1,5): error TS8030: The type of a function declaration must match the function's signature.
tests/cases/conformance/jsdoc/test.js(7,5): error TS2741: Property 'prop' is missing in type '(prop: any) => void' but required in type '{ prop: string; }'.
tests/cases/conformance/jsdoc/test.js(10,5): error TS8030: The type of a function declaration must match the function's signature.


==== tests/cases/conformance/jsdoc/test.js (3 errors) ====
    /** @type {number} */
        ~~~~~~~~~~~~~~
!!! error TS8030: The type of a function declaration must match the function's signature.
    function f() {
        return 1
    }
    
    /** @type {{ prop: string }} */
    var g = function (prop) {
        ~
!!! error TS2741: Property 'prop' is missing in type '(prop: any) => void' but required in type '{ prop: string; }'.
!!! related TS2728 tests/cases/conformance/jsdoc/test.js:6:14: 'prop' is declared here.
    }
    
    /** @type {(a: number) => number} */
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS8030: The type of a function declaration must match the function's signature.
    function add1(a, b) { return a + b; }
    
    /** @type {(a: number, b: number) => number} */
    function add2(a, b) { return a + b; }
    
    // TODO: Should be an error since signature doesn't match.
    /** @type {(a: number, b: number, c: number) => number} */
    function add3(a, b) { return a + b; }
    