summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
Diffstat (limited to 'src/library')
-rw-r--r--src/library/scala/TypeConstraint.scala30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/library/scala/TypeConstraint.scala b/src/library/scala/TypeConstraint.scala
new file mode 100644
index 0000000000..96347dc67f
--- /dev/null
+++ b/src/library/scala/TypeConstraint.scala
@@ -0,0 +1,30 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2006-2007, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+// $Id$
+
+
+package scala
+
+/** <p>
+ * A marker for annotations that, when applied to a type,
+ * should be treated as a constraint on the annotated type.
+ * A proper constraint should restrict the type based only
+ * on information mentioned within the type. A Scala compiler
+ * can use this assumption to rewrite the contents of the
+ * constraint as necessary. To contrast, a type annotation
+ * whose meaning depends on the context where it is written
+ * down is not a proper constrained type, and this marker
+ * should not be applied. A Scala compiler will drop such
+ * annotations in cases where it would rewrite a type constraint.
+ * </p>
+ *
+ * @author Lex Spoon
+ * @version 1.1, 2007-11-5
+ */
+trait TypeConstraint extends Annotation