diff options
author | Paul Phillips <paulp@improving.org> | 2013-12-15 18:28:03 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-12-15 18:28:03 -0800 |
commit | 11bfa25e37d32f4017d5c04b4899b1bdfbd95e06 (patch) | |
tree | 42fab30ce189d1bc93fbecb5496448a7176ba5e9 /test/files/neg/t7897.check | |
parent | dbe7a366c994fe359edc368bfcd8a6a35a00e0da (diff) | |
download | scala-11bfa25e37d32f4017d5c04b4899b1bdfbd95e06.tar.gz scala-11bfa25e37d32f4017d5c04b4899b1bdfbd95e06.tar.bz2 scala-11bfa25e37d32f4017d5c04b4899b1bdfbd95e06.zip |
SI-7897, SI-6675 improves name-based patmat
This emerges from a recent attempt to eliminate pattern matcher
related duplication and to bake the scalac-independent logic
out of it. I had in mind something a lot cleaner, but it was
a whole lot of work to get it here and I can take it no further.
Key file to admire is PatternExpander.scala, which should
provide a basis for some separation of concerns.
The bugs addressed are a CCE involving Tuple1 and an imprecise
warning regarding multiple pattern crushing.
Editorial: auto-tupling unapply results was a terrible idea which
should never have escaped from the crib. It is tantamount to
purposely throwing type safety down the toilet in the very place
where people need type safety the most. See SI-6111 and SI-6675 for
some other comments.
Diffstat (limited to 'test/files/neg/t7897.check')
-rw-r--r-- | test/files/neg/t7897.check | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/test/files/neg/t7897.check b/test/files/neg/t7897.check new file mode 100644 index 0000000000..48eff511c7 --- /dev/null +++ b/test/files/neg/t7897.check @@ -0,0 +1,4 @@ +t7897.scala:19: error: value length is not a member of p0.Single + case p0.Single(x) => println(s"`$x` has ${x.length} chars") + ^ +one error found |