Skip to content

Commit 3d011e1

Browse files
committed
WIP
1 parent 04fec16 commit 3d011e1

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
@@ -23433,10 +23433,16 @@ \subsection{Same Type}
2343323433
\item $S$ and $T$ are both positional function types with the same
2343423434
number of mandatory parameters and the same number of optional parameters,
2343523435
the same return type, and the same type for each of the parameters.
23436+
If at least one of the function types is generic
23437+
then they must both be generic,
23438+
and they must have textually identical type parameter declaration lists.
2343623439
\item $S$ and $T$ are both named function types with the same
2343723440
number of mandatory parameters and the same set of named parameters,
2343823441
the same return type, and the same type for each of the parameters,
2343923442
and the same subset of the named parameters marked as \REQUIRED.
23443+
If at least one of the function types is generic
23444+
then they must both be generic,
23445+
and they must have textually identical type parameter declaration lists.
2344023446
\item $S$ is of the form \code{$F$<$U_1$, \ldots\ $U_s$>} where $F$
2344123447
denotes a type alias declaration,
2344223448
the unfolding of the type alias yields $S'$,
@@ -23447,6 +23453,11 @@ \subsection{Same Type}
2344723453
and $S$ is the same type as $T'$.
2344823454
\item There exists an alpha conversion of $S$ yielding $S'$, and
2344923455
$S'$ and $T$ are the same type.
23456+
\commentary{%
23457+
This rule can be used to obtain
23458+
textually identical type parameter declaration lists,
23459+
if they only differ in the choice of naming.%
23460+
}
2345023461
\end{itemize}
2345123462

2345223463
\LMHash{}%

0 commit comments

Comments
 (0)