Skip to content

Compiler allows async function expressions in ES3/ES5 #7334

Closed
@yortus

Description

@yortus

TypeScript Version:

1.8

Code

// file: index.ts
declare class Promise<T> {/***/}
async function foo() { return 42; } // ERROR: Async functions are only available in ES6+
let bar = async function () { return 42; } // OK, but should be an error
let baz = async () => 42; // OK, but should be an error

// file: tsconfig.json
{
    "compilerOptions": {
        "target": "es5"
    }
}

Expected behavior:
The bar and baz lines should also get error TS1311 'Async functions are only available in ES6 or higher'.

Actual behavior:
The bar and baz lines compile without errors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScriptFixedA PR has been merged for this issue

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions