It's an error if to instantiate a subclass of a malbounded type,or a type variable.

R=regis@google.com

Review URL: https://codereview.chromium.org//26990005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28701 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/docs/language/dartLangSpec.tex b/docs/language/dartLangSpec.tex
index e036269..f477b94 100644
--- a/docs/language/dartLangSpec.tex
+++ b/docs/language/dartLangSpec.tex
@@ -511,6 +511,8 @@
 
 \subsubsection{Changes Since Version 0.7}
 
+\ref{new}: Instantiating subclasses of malbounded types is a dynamic error.
+
 \ref{leastUpperBounds}:  Extended LUBs to all types.
 
 
@@ -3170,7 +3172,7 @@
 
 Then, if $q$ is a non-factory constructor of an abstract class then an \code{AbstractClassInstantiationError} is thrown.
 
-If $T$  is malformed a dynamic error occurs. In checked mode, if $T$ is malbounded a dynamic error occurs.
+If $T$  is malformed or if $T$ is a type variable a dynamic error occurs. In checked mode, if $T$ or any of its superclasses is malbounded a dynamic error occurs.
  Otherwise, if $q$ is not defined or not accessible, a \code{NoSuchMethodError} is thrown.  If $q$ has  less than $n$ positional parameters or more than $n$ required parameters, or if $q$ lacks any of the keyword parameters $\{ x_{n+1}, \ldots, x_{n+k}\}$ a \code{NoSuchMethodError} is thrown.
 
 Otherwise, if $q$ is a generative constructor (\ref{generativeConstructors}), then:
@@ -5619,8 +5621,8 @@
 }
 
 \begin{dartCode}
-\INTERFACE{} I$<$T \EXTENDS{} num$>$ \{\}
-\INTERFACE{} J \{\}
+\CLASS{} I$<$T \EXTENDS{} num$>$ \{\}
+\CLASS{} J \{\}
 
 \CLASS{} A$<$T$>$ \IMPLEMENTS{} J,  I$<$T$>$ // type warning: T is not a subtype of num
 \{ ...