Chromium Code Reviews| Index: docs/language/dartLangSpec.tex |
| diff --git a/docs/language/dartLangSpec.tex b/docs/language/dartLangSpec.tex |
| index 44e846cf68a64ec44684977b2179c3719e95b50b..94510502bac9143a810538c7a132adef14cd62f7 100644 |
| --- a/docs/language/dartLangSpec.tex |
| +++ b/docs/language/dartLangSpec.tex |
| @@ -1782,7 +1782,8 @@ The scope of the \EXTENDS{} and \WITH{} clauses of a class $C$ is the type-param |
| \LMHash{} |
| %It is a compile-time error if the \EXTENDS{} clause of a class $C$ includes a type expression that does not denote a class available in the lexical scope of $C$. |
|
Lasse Reichstein Nielsen
2016/12/16 11:14:59
Remove the comment, and the one below.
eernst
2016/12/16 11:33:47
Done.
|
| -It is a compile-time error if the \EXTENDS{} clause of a class $C$ specifies an enumerated type (\ref{enums}), a malformed type or a deferred type (\ref{staticTypes}) as a superclass. |
| +It is a compile-time error if the \EXTENDS{} clause of a class $C$ specifies a type variable (\ref{generics}), a type alias (\ref{typedef}), an enumerated type (\ref{enums}), a malformed type, or a deferred type (\ref{staticTypes}) as a superclass. |
| +It is a compile-time error if the \EXTENDS{} clause of a class $C$ specifies type \DYNAMIC{} as a superinterface. |
| % too strict? Do we e want extends List<Undeclared> to work as List<dynamic>? |
| \commentary{ The type parameters of a generic class are available in the lexical scope of the superclass clause, potentially shadowing classes in the surrounding scope. The following code is therefore illegal and should cause a compile-time error: |
| @@ -1917,7 +1918,9 @@ A class has a set of direct superinterfaces. This set includes the interface of |
| The scope of the \IMPLEMENTS{} clause of a class $C$ is the type-parameter scope of $C$. |
| \LMHash{} |
| -It is a compile-time error if the \IMPLEMENTS{} clause of a class $C$ specifies a type variable as a superinterface. It is a compile-time error if the \IMPLEMENTS{} clause of a class $C$ specifies an enumerated type (\ref{enums}), a malformed type or deferred type (\ref{staticTypes}) as a superinterface. It is a compile-time error if the \IMPLEMENTS{} clause of a class $C$ specifies type \DYNAMIC{} as a superinterface. It is a compile-time error if the \IMPLEMENTS{} clause of a class $C$ specifies a type $T$ as a superinterface more than once. |
| +It is a compile-time error if the \IMPLEMENTS{} clause of a class $C$ specifies a type variable (\ref{generics}), a type alias (\ref{typedef}), an enumerated type (\ref{enums}), a malformed type, or a deferred type (\ref{staticTypes}) as a superinterface. |
| +It is a compile-time error if the \IMPLEMENTS{} clause of a class $C$ specifies type \DYNAMIC{} as a superinterface. |
| +It is a compile-time error if the \IMPLEMENTS{} clause of a class $C$ specifies a type $T$ as a superinterface more than once. |
| It is a compile-time error if the superclass of a class $C$ is specified as a superinterface of $C$. |
|
Lasse Reichstein Nielsen
2016/12/16 11:14:59
How does this sentence interact with mixins?
That
eernst
2016/12/16 11:33:47
Good question!
As stated below, we could really j
|
| \rationale{ |