Skip to content

CFE: Propagate dynamic as the future value type #42134

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
eernstg opened this issue Jun 1, 2020 · 0 comments
Closed

CFE: Propagate dynamic as the future value type #42134

eernstg opened this issue Jun 1, 2020 · 0 comments
Labels
legacy-area-front-end Legacy: Use area-dart-model instead. NNBD Issues related to NNBD Release

Comments

@eernstg
Copy link
Member

eernstg commented Jun 1, 2020

Cf. dart-lang/language#997, a return type of dynamic, dynamic?, or dynamic* is now propagated such that the future value type will be dynamic (before that spec change, it was specified to be Object?, which caused unintended breakage).

This issue exists in order to keep track of the implementation changes corresponding to this spec change. The CFE currently (commit 24c50fb) does not raise an error for the following example:

f() async {
  return;
}

void main() async {
  await f();
}

which may indicate that the change has already been implemented, or that neither dart-lang/language#997 nor an earlier change introducing the future value type have been implemented (or something similar to that). So the work may or may not have been completed already.

@eernstg eernstg added legacy-area-front-end Legacy: Use area-dart-model instead. NNBD Issues related to NNBD Release labels Jun 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
legacy-area-front-end Legacy: Use area-dart-model instead. NNBD Issues related to NNBD Release
Projects
None yet
Development

No branches or pull requests

1 participant