scala/scala — pull request #2373 by paulp (2013-04-08 20:29:48+00:00)
Title: 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.