Skip to content
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

Specify ordering of dynamic error for p.f(...) where p is a deferred prefix #3483

Merged
merged 1 commit into from
Nov 24, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions specification/dartLangSpec.tex
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@
% version of the language which will actually be specified by the next stable
% release of this document.
%
% Nov 2023
% - Specify that the dynamic error for calling a function in a deferred and
% not yet loaded library will occur before actual argument evaluation, not
% after.
%
% Oct 2023
% - Introduce the rule that an `extension` declaration cannot have the name
% `type`. This is needed in order to disambiguate an `extension type`
Expand Down Expand Up @@ -20014,9 +20019,11 @@ \subsubsection{Semantics of Imports}
\NamespaceName{\metavar{import},i},
a corresponding function named \id{} with the same signature as $f$.
% This error can occur because being-loaded is a dynamic property.
Calling the function results in a dynamic error,
and so does closurizing it
(\ref{functionClosurization}).
Calling the function results in a dynamic error that occurs before
any actual arguments are evaluated.
Closurizing the function
(\ref{functionClosurization})
also results in a dynamic error.
\item
For every top level getter $g$ named \id{} in
\NamespaceName{\metavar{import},i},
Expand All @@ -20028,7 +20035,8 @@ \subsubsection{Semantics of Imports}
\NamespaceName{\metavar{import},i},
a corresponding setter named \code{\id=} with the same signature as $s$.
% This error can occur because being-loaded is a dynamic property.
Calling the setter results in a dynamic error.
Calling the setter results in a dynamic error that occurs before
the actual argument is evaluated.
\item
For every class, mixin, enum, and type alias declaration named \id{} in
\NamespaceName{\metavar{import},i},
Expand Down