Skip to content

Commit 83b48d4

Browse files
committed
Now mentions inference of parameter type for initializing formal
1 parent a64e450 commit 83b48d4

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

specification/dartLangSpec.tex

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1862,13 +1862,16 @@ \subsection{Formal Parameters}
18621862
Type inference is not yet specified in this document,
18631863
and is assumed to have taken place already
18641864
(\ref{overview}).
1865-
In particular, some or all formal parameters of an instance method declaration
1866-
may have received a declared type based on override inference,
1867-
in which case it is not considered to be omitted.
1865+
In particular, a formal parameter that has no type annotation in the source
1866+
may have received a type by inference,
1867+
and in this situation the type is not considered to be omitted.
18681868
%% TODO(eernst): Change to \ref{} when inference spec is added.
1869-
Briefly, override inference yields a type computed from the declared types of
1870-
the corresponding parameter of member signatures in superinterfaces,
1871-
or it causes a compile-time error if said types can not be reconciled.%
1869+
One such case is override inference,
1870+
where the type of a formal parameter of an instance method
1871+
is obtained from overridden declarations;
1872+
another case is initializing formal parameters
1873+
(\ref{generativeConstructors}),
1874+
where the type is obtained from the associated instance variable.%
18721875
}
18731876

18741877
\LMHash{}%
@@ -2272,13 +2275,16 @@ \subsection{Type of a Function}
22722275
Type inference is not yet specified in this document,
22732276
and is assumed to have taken place already
22742277
(\ref{overview}).
2275-
In particular, some or all formal parameters of an instance method declaration
2276-
may have received a declared type based on override inference,
2277-
in which case it is not considered to be omitted.
2278+
In particular, a formal parameter that has no type annotation in the source
2279+
may have received a type by inference,
2280+
and in this situation the type is not considered to be omitted.
22782281
%% TODO(eernst): Change to \ref{} when inference spec is added.
2279-
Briefly, override inference yields a type computed from the declared types of
2280-
the corresponding parameter of member signatures in superinterfaces,
2281-
or it causes a compile-time error if said types can not be reconciled.%
2282+
One such case is override inference,
2283+
where the type of a formal parameter of an instance method
2284+
is obtained from overridden declarations;
2285+
another case is initializing formal parameters
2286+
(\ref{generativeConstructors}),
2287+
where the type is obtained from the associated instance variable.%
22822288
}
22832289

22842290
\LMHash{}%

0 commit comments

Comments
 (0)