summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect/api/Types.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2013-04-08 08:30:49 -0700
committerPaul Phillips <paulp@improving.org>2013-04-08 13:29:23 -0700
commitf986d6d6d703e1433923795fd5e9308a72f23459 (patch)
tree30a41a88e0d68d5b9a6cb3a63f358b45ac9cd8ba /src/reflect/scala/reflect/api/Types.scala
parentc57c4f8c6227cff8ff9c1392428f97f036a34f2c (diff)
downloadscala-f986d6d6d703e1433923795fd5e9308a72f23459.tar.gz
scala-f986d6d6d703e1433923795fd5e9308a72f23459.tar.bz2
scala-f986d6d6d703e1433923795fd5e9308a72f23459.zip
Reduce visibility of implicit class tags.
500 lines of generated boilerplate is *impossible to maintain*. Generated code of this kind should never be allowed. Three lines of documentation, duplicated 100 times, cannot masquerade as three hundred lines of documentation. If someone knows to look at the documentation of implicit ClassTags, they *already know* about implicit ClassTags. It is wherever "match" is documented which needs this information (and I am sure we can express it more clearly, given the luxury of only saying it once.) Documenting each ClassTag with the same boilerplate is comparable in utility to attaching such text to every Int. "An Int is a whole number within the range -2147483648 to 2147483647 inclusive. It's usually used to represent how many of something there are, such as '5 bunnies' or '3 witty commit messages', but you can store about anything in an Int if you can fit it into 32 bits." We don't do that, because you're expected to discover what an Int is in a manner which generalizes to all the Ints you may encounter. The situation with implicit ClassTags is immediately analogous.
Diffstat (limited to 'src/reflect/scala/reflect/api/Types.scala')
-rw-r--r--src/reflect/scala/reflect/api/Types.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/api/Types.scala b/src/reflect/scala/reflect/api/Types.scala
index e5140f23e5..1152f97350 100644
--- a/src/reflect/scala/reflect/api/Types.scala
+++ b/src/reflect/scala/reflect/api/Types.scala
@@ -50,7 +50,7 @@ package api
*
* @contentDiagram hideNodes "*Api"
*/
-trait Types extends ImplicitTags {
+trait Types {
self: Universe =>
/** The type of Scala types, and also Scala type signatures.