Skip to content

Inline async arrow with await using inside outer await using crashes TS checker #1712

Description

@RealColdFry

Following on from #1622 , needs separate fix from #1711 which masks the crash but leaves the below crashes.


return await (async ...

https://typescripttolua.github.io/play/#code/5.4/IYZwngdgxgBAZgV2gFwJYHsIwOYFNkCCAFAJQBcMACgE7oC2qIuAPAeNACKMAO6IwAIwA2uAHwwA3gCgYMavgTUsEmAG0AymDoD0QgHShIULiF5MAuhUPQYpGAF5xEgL4xnAbinOpU67EQoGFjoCMi41HbSssAA7sCoyDAIIKgQ2DDADhlxCTj4xCSesvLIilix8YlEfrYkDk4ystmVSSlpMAJZFbl4hKRFTSVlMACMIwPOJP1eUkA

async function getA(): Promise<AsyncDisposable> {
  return { [Symbol.asyncDispose]: async () => {} };
}

async function outer() {
  await using a = await getA();
  return await (async () => {
    await using b = await getA();
    return 11;
  })();
}

return (async ...

https://typescripttolua.github.io/play/#code/5.4/IYZwngdgxgBAZgV2gFwJYHsIwOYFNkCCAFAJQBcMACgE7oC2qIuAPAeNACKMAO6IwAIwA2uAHwwA3gCgYMavgTUsEmAG0AymDoD0QgHShIULiF5MAuhUPQYpGAF5xEgL4xnAbinOpU67EQoGFjoCMi41HbSssAA7sCoyDAIIKgQ2DDADhlxCTj4xCSesvLIilhEfrYkDk4ystnxicmp6QJZsY15hKRF9SVlMACMg73OJD1eQA

async function getA(): Promise<AsyncDisposable> {
  return { [Symbol.asyncDispose]: async () => {} };
}

async function outer() {
  await using a = await getA();
  return (async () => {
    await using b = await getA();
    return 11;
  })();
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions