Skip to content

Commit 4ce96a8

Browse files
committed
Correct wrong rebase update
1 parent cd3bb4f commit 4ce96a8

File tree

1 file changed

+2
-32
lines changed

1 file changed

+2
-32
lines changed

specification/dartLangSpec.tex

+2-32
Original file line numberDiff line numberDiff line change
@@ -22155,36 +22155,6 @@ \subsubsection{Being a Subtype}
2215522155
each of the premises of $R$,
2215622156
continuing until a rule with no premises is reached.
2215722157

22158-
\commentary{%
22159-
For rule \SrnNull, note that the \code{Null} type
22160-
is a subtype of all non-$\bot$ types,
22161-
even though it doesn't actually extend or implement those types.
22162-
The other types are effectively treated as if they were nullable,
22163-
which makes the null object (\ref{null}) assignable to them.%
22164-
}
22165-
22166-
\LMHash{}%
22167-
The first premise in the
22168-
rules~\SrnLeftTypeAlias{} and~\SrnRightTypeAlias{}
22169-
is a type alias declaration.
22170-
This premise is satisfied in each of the following situations:
22171-
22172-
\begin{itemize}
22173-
\item A non-generic type alias named $F$ is declared.
22174-
In this case $s$ is zero,
22175-
no assumptions are made about the existence
22176-
of any formal type parameters,
22177-
and actual type argument lists are omitted everywhere in the rule.
22178-
\item We may choose $s$ and \List{X}{1}{s} such that the following holds:
22179-
A generic type alias named $F$ is declared,
22180-
with formal type parameters \List{X}{1}{s}.
22181-
\commentary{%
22182-
Each formal type parameter $X_j$ may have a bound,
22183-
but the bounds are never used in this context,
22184-
so we do not introduce metavariables for them.%
22185-
}
22186-
\end{itemize}
22187-
2218822158
\LMHash{}%
2218922159
Rule~\SrnRightFunction{} has as a premise that `$T$ is a function type'.
2219022160
This means that $T$ is a type of one of the forms introduced in
@@ -22222,14 +22192,14 @@ \subsubsection{Being a Subtype}
2222222192
}
2222322193

2222422194
\commentary{%
22225-
The last premise of rule~\SrnSuperinterface{}
22195+
The last premise of rule~\SrnNominal{}
2222622196
substitutes the actual type arguments \List{S}{1}{s} for the
2222722197
formal type parameters \List{X}{1}{s},
2222822198
because \List{T}{1}{m} may contain those formal type parameters.%
2222922199
}
2223022200

2223122201
\commentary{%
22232-
The rules~\SrnCovariance{} and~\SrnSuperinterface{}
22202+
The rules~\SrnCovariance{} and~\SrnNominal{}
2223322203
are applicable to interfaces,
2223422204
but they can be used with classes as well,
2223522205
because a non-generic class $C$ which is used as a type

0 commit comments

Comments
 (0)