Skip to content

Commit e08469d

Browse files
committed
WIP
1 parent 17a6e30 commit e08469d

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

specification/dartLangSpec.tex

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23492,10 +23492,16 @@ \subsection{Same Type}
2349223492
\item $S$ and $T$ are both positional function types with the same
2349323493
number of mandatory parameters and the same number of optional parameters,
2349423494
the same return type, and the same type for each of the parameters.
23495+
If at least one of the function types is generic
23496+
then they must both be generic,
23497+
and they must have textually identical type parameter declaration lists.
2349523498
\item $S$ and $T$ are both named function types with the same
2349623499
number of mandatory parameters and the same set of named parameters,
2349723500
the same return type, and the same type for each of the parameters,
2349823501
and the same subset of the named parameters marked as \REQUIRED.
23502+
If at least one of the function types is generic
23503+
then they must both be generic,
23504+
and they must have textually identical type parameter declaration lists.
2349923505
\item $S$ is of the form \code{$F$<$U_1$, \ldots\ $U_s$>} where $F$
2350023506
denotes a type alias declaration,
2350123507
the unfolding of the type alias yields $S'$,
@@ -23506,6 +23512,11 @@ \subsection{Same Type}
2350623512
and $S$ is the same type as $T'$.
2350723513
\item There exists an alpha conversion of $S$ yielding $S'$, and
2350823514
$S'$ and $T$ are the same type.
23515+
\commentary{%
23516+
This rule can be used to obtain
23517+
textually identical type parameter declaration lists,
23518+
if they only differ in the choice of naming.%
23519+
}
2350923520
\end{itemize}
2351023521

2351123522
\LMHash{}%

0 commit comments

Comments
 (0)