diff options
author | Paul Phillips <paulp@improving.org> | 2012-07-28 09:27:06 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-07-28 12:02:43 -0700 |
commit | e245b681291cb1234de30faf48a036a49a1000a2 (patch) | |
tree | 552124fbe438ab6bfb97456ffb09fc3db9b6e7cb /src/jline | |
parent | 5988121127ec17e4cc76dd49bc7847fc56a08336 (diff) | |
download | scala-e245b681291cb1234de30faf48a036a49a1000a2.tar.gz scala-e245b681291cb1234de30faf48a036a49a1000a2.tar.bz2 scala-e245b681291cb1234de30faf48a036a49a1000a2.zip |
Promote unchecked warnings into being emitted by default.
To make that viable, suppression of unchecked warnings is now available
on a per-type-argument basis. The @unchecked annotation has hereby been
generalized beyond exhaustiveness to mean context-dependent "disable further
compiler checking on this entity." Example of new usage:
def f(x: Any) = x match {
case xs: List[String @unchecked] => xs.head // no warning
case xs: List[Int] => xs.head // unchecked warning
}
It turns out -unchecked has been put to other noisy uses such as
the pattern matcher complaining about its budget like a careworn spouse.
This actually simplified the path forward: I left -unchecked in place
for that and general compatibility, so those warnings can be enabled
as before with -unchecked. The erasure warnings I turned into regular
warnings, subject to suppression by @unchecked.
Review by @odersky.
Diffstat (limited to 'src/jline')
0 files changed, 0 insertions, 0 deletions