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