tests/cases/conformance/jsdoc/prefixPostfix.js(5,18): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name.
tests/cases/conformance/jsdoc/prefixPostfix.js(5,18): error TS1005: '}' expected.
tests/cases/conformance/jsdoc/prefixPostfix.js(8,12): error TS1014: A rest parameter must be last in a parameter list.
tests/cases/conformance/jsdoc/prefixPostfix.js(9,12): error TS1014: A rest parameter must be last in a parameter list.
tests/cases/conformance/jsdoc/prefixPostfix.js(10,12): error TS1014: A rest parameter must be last in a parameter list.
tests/cases/conformance/jsdoc/prefixPostfix.js(11,21): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name.
tests/cases/conformance/jsdoc/prefixPostfix.js(11,21): error TS1005: '}' expected.
tests/cases/conformance/jsdoc/prefixPostfix.js(12,12): error TS1014: A rest parameter must be last in a parameter list.
tests/cases/conformance/jsdoc/prefixPostfix.js(13,12): error TS1014: A rest parameter must be last in a parameter list.
tests/cases/conformance/jsdoc/prefixPostfix.js(14,21): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name.
tests/cases/conformance/jsdoc/prefixPostfix.js(14,21): error TS1005: '}' expected.
tests/cases/conformance/jsdoc/prefixPostfix.js(18,21): error TS7006: Parameter 'a' implicitly has an 'any' type.
tests/cases/conformance/jsdoc/prefixPostfix.js(18,39): error TS7006: Parameter 'h' implicitly has an 'any' type.
tests/cases/conformance/jsdoc/prefixPostfix.js(18,48): error TS7006: Parameter 'k' implicitly has an 'any' type.


==== tests/cases/conformance/jsdoc/prefixPostfix.js (14 errors) ====
    /**
     * @param {number![]} x - number[]
     * @param {!number[]} y - number[]
     * @param {(number[])!} z - number[]
     * @param {number?[]} a - parse error without parentheses
                     
!!! error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name.
                     ~
!!! error TS1005: '}' expected.
     * @param {?number[]} b - number[] | null
     * @param {(number[])?} c - number[] | null
     * @param {...?number} e - (number | null)[]
               ~~~~~~~~~~
!!! error TS1014: A rest parameter must be last in a parameter list.
     * @param {...number?} f - number[] | null
               ~~~~~~~~~~
!!! error TS1014: A rest parameter must be last in a parameter list.
     * @param {...number!?} g - number[] | null
               ~~~~~~~~~~~
!!! error TS1014: A rest parameter must be last in a parameter list.
     * @param {...number?!} h - parse error without parentheses (also nonsensical)
                        
!!! error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name.
                        ~
!!! error TS1005: '}' expected.
     * @param {...number[]} i - number[][]
               ~~~~~~~~~~~
!!! error TS1014: A rest parameter must be last in a parameter list.
     * @param {...number![]?} j - number[][] | null
               ~~~~~~~~~~~~~
!!! error TS1014: A rest parameter must be last in a parameter list.
     * @param {...number?[]!} k - parse error without parentheses
                        
!!! error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name.
                        ~
!!! error TS1005: '}' expected.
     * @param {number extends number ? true : false} l - conditional types work
     * @param {[number, number?]} m - [number, (number | undefined)?]
     */
    function f(x, y, z, a, b, c, e, f, g, h, i, j, k, l, m) {
                        ~
!!! error TS7006: Parameter 'a' implicitly has an 'any' type.
                                          ~
!!! error TS7006: Parameter 'h' implicitly has an 'any' type.
                                                   ~
!!! error TS7006: Parameter 'k' implicitly has an 'any' type.
    }
    