Skip to content

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

@RealColdFry

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions