summaryrefslogtreecommitdiff
path: root/test/files
Commit message (Collapse)AuthorAgeFilesLines
* Another batch of busywork shuffling the content...Paul Phillips2010-10-048-0/+64
| | | | | | Another batch of busywork shuffling the contents of pending around. Can almost see some daylight. No review.
* Pattern matching on Array types, working for re...Paul Phillips2010-10-046-20/+94
| | | | | | | | | | | | | | | | | Pattern matching on Array types, working for reals. def f[T](a: Array[T]) = a match { case x: Array[Int] => x(0) case x: Array[Double] => 2 // etc. } I'd also like to thank "instantiateTypeVar" for displacing the mechanical spiders and giant squid beings which used to fill my nightmares. Now that I know true horror, I welcome the squid. Closes #2755, review by odersky.
* Work on the pattern matcher.Paul Phillips2010-10-035-1/+78
| | | | | | | | | | | | | | | | | | | | | | | | patches for #3887 and #3888, but I determined that I could achieve the same effect by deleting a bunch of code, so I did. This left only a few lines in TransMatch, so I eliminated it, which led me to remember that many places still reference non-existent phase transmatch, so those were updated. Notes: * This swaps equality tests on stable identifier patterns. They have never conformed to the spec (as noted long ago in ticket #785) which says "The pattern matches any value v such that r == v" whereas until now the test being performed was v == r. * An issue was introduced with specialization in that the implementation of "isTupleType" in Definitions relied upon sym == TupleClass(elems.length). This test is untrue for specialized tuples, causing mysterious behavior because only some tuples are specialized. There is now "isTupleTypeOrSubtype" although it seems likely the former implementation is unnecessary. The issue is sidestepped if one uses "getProductArgs" to retrieve the element types because it sifts through the base types for the Product symbol. Closes #3887 and #3888, review by dmharrah.
* One last batch of test cleanups and I think I'l...Paul Phillips2010-10-037-0/+49
| | | | | | | One last batch of test cleanups and I think I'll call it a day. If you're worried I didn't leave any for anyone else, let me put your fears to rest. PLENTY left to sift through. No review.
* The next batch of tests put up a little more st...Paul Phillips2010-10-025-0/+101
| | | | | | | | | | | | | | The next batch of tests put up a little more struggle, but only a little. See test/pending/pos/unappgadteval.scala (the changes for which were in the previous commit) for an example of a test which might be on to something. Any idea what it would take to get it working? // the key lines case i @ Suc() => { (y: Int) => y + 1 } // a = Int => Int case f @ Lam[b,c](x, e) => { (y: b) => eval(e, env.extend(x, y)) } // a = b=>c No review.
* Sorting through the tests in pending from oldes...Paul Phillips2010-10-0211-0/+140
| | | | | | | | | | | | | | | | | Sorting through the tests in pending from oldest to newest because I don't believe in having useless appendages. The verdict on the oldest fifteen tests is: 15/15 are fixed. Many were already in files under a different name. I moved a few and deleted the rest. Fun fact of the day: apparently there was a time when to call into java varargs with no arguments you might have to write something like: getClass().getMethod("getCount", Array[java.lang.Class[T] forSome { type T }]()) On this basis I retract any complaints I've ever had about anything. There is one question mark outlined in pos/testCoercionThis.scala, a file formerly called pos/moors.scala and therefore... review by moors.
* Another attempt for #1591.Hubert Plociniczak2010-10-015-0/+61
|
* Still giddy with the thrill of fixing #266, I v...Paul Phillips2010-09-301-0/+15
| | | | | | | | | | | | | | | | Still giddy with the thrill of fixing #266, I vanquish another pattern matcher bug from the dawn of time. If you've always wanted to write code like this: class Bob[K[_]] { def foo(other: Any) = other match { case x: (Bob[X] forSome { type X[_] }) => } } Now is your chance. Closes #1427, review by moors. (Is there a better way to "shake off" the pattern existential?)
* Revert changes related to #1591. no review.Hubert Plociniczak2010-09-294-48/+0
|
* closes #3859.Adriaan Moors2010-09-281-0/+4
| | | | | review by odersky
* Fix and test case for #3855.Paul Phillips2010-09-281-0/+18
| | | | | | | | | | | | | | | | | | | | | | | situations where a mutable var will later be lifted. As a point of interest, this bug reveals itself fairly clearly if you use a build since r23112 and run the checker thusly: scalac -d /tmp -Ycheck-debug -Ycheck:icode -Xprint:icode test/files/run/bug3855.scala It dies with the following explanation: Output changed for Block 3 [S: 2] [P: 1, 4] Exception in thread "main" scala.tools.nsc.backend.icode.CheckerException: Incompatible stacks: TypeStack() and TypeStack(2 elems) { REFERENCE(class IntRef) REFERENCE(class IntRef) } in Test.main at entry to block: 2 And indeed that was the source of the reported verifyerror. Review by i. dragos.
* Refined crash avoidance related to self type te...Paul Phillips2010-09-281-0/+17
| | | | | | | | | | | | | | | Refined crash avoidance related to self type tests in anonymous classes as introduced for #576. Now it really only excludes anonymous classes. Suddenly, this works: override def equals(other: Any) = other match { case _: this.type => true case _ => false } Who will be the first to roll out some reference equality in the this.type style? No review.
* Fixed an ancient crasher in explicitouter invol...Paul Phillips2010-09-281-0/+23
| | | | | | Fixed an ancient crasher in explicitouter involving singleton self-types. Closes #266, review by odersky.
* Cleaning up the contents of test.Paul Phillips2010-09-2838-9/+571
| | | | | | | | | | | including "CheckEither", written against scalacheck 1.2 in the year 471 AD. Removed all the duplicates I could find, mostly between pending and files. Renamed a bunch of tests so they wouldn't look like likely duplicates next time around. Nominated somebody else to do this once in a while. No review.
* closes #3873.Adriaan Moors2010-09-273-0/+19
| | | | | review by maier as no good deed goes unpunished
* close #3864.Lukas Rytz2010-09-272-0/+79
|
* Test for #3829. No review.Aleksandar Pokopec2010-09-271-0/+42
|
* Fixes #3847. No review.Aleksandar Pokopec2010-09-271-0/+21
|
* Some progress on reviving TreeCheckers, plus a ...Paul Phillips2010-09-242-2/+2
| | | | | | | | Some progress on reviving TreeCheckers, plus a couple bugfixes and better error messages revealed by that progress. Also applied tiny increment in understanding to fixing up TreeDSL some more. The hand of martin guides from above, so no review.
* closes #3808.Adriaan Moors2010-09-241-0/+11
| | | | | | | | moved typing indentation to where it belongs, now inliner shuold be able to do its job in implicits as well no review
* closes #3857: retain pre-erasure info in type h...Adriaan Moors2010-09-232-0/+14
| | | | | | | | | closes #3857: retain pre-erasure info in type history after cloning of mixed in members and, specifically for this bug, fields, so that java generic type sigs are more precise. review by DRagos
* closes #3800.Adriaan Moors2010-09-231-0/+6
| | | | | | | | appliedType goes under annotations. removed some dead code in isSubtypeHK0. review by rytz
* Test case closes #3774, no review.Paul Phillips2010-09-222-0/+10
|
* Added an override to immutable.IndexedSeq#toInd...Paul Phillips2010-09-221-0/+10
| | | | | | Added an override to immutable.IndexedSeq#toIndexedSeq which returns itself. Closes #3732, no review.
* Test case closes #3509, no review.Paul Phillips2010-09-222-0/+10
|
* Test case closes #3498, no review.Paul Phillips2010-09-221-0/+15
|
* Test case submitted by mark harrah closes #2813...Paul Phillips2010-09-221-0/+39
| | | | | Test case submitted by mark harrah closes #2813, no review.
* Test case closes #2619, no review.Paul Phillips2010-09-221-0/+80
|
* Test case closes #1548, no review.Paul Phillips2010-09-223-0/+19
|
* closes #3792: type equality for singleton types...Adriaan Moors2010-09-221-0/+4
| | | | | | | | | closes #3792: type equality for singleton types did not take type aliases into account while chasing the chain of underlying types (if the underlying type is an alias of a singleton type, it should be followed) review by odersky
* Closes #1591.Hubert Plociniczak2010-09-224-0/+48
|
* Tail recursive implementation of mapConserve, s...Paul Phillips2010-09-201-0/+53
| | | | | | Tail recursive implementation of mapConserve, submitted by Eric Willigers. Closes #2411, review by malayeri.
* Test case closes #2162, no review.Paul Phillips2010-09-202-0/+21
|
* Guard against overflow in fjbg.Paul Phillips2010-09-191-0/+7
|
* Fixed an issue with ListSet getting confused ab...Paul Phillips2010-09-181-0/+6
| | | | | | Fixed an issue with ListSet getting confused about what goes forward and what goes backward. No review.
* Restoring negative literal parsing behavior to ...Paul Phillips2010-09-171-0/+31
| | | | | | | | | | | | | | | | | | | | | Restoring negative literal parsing behavior to what should be the least surprising option. Thanks much to Johannes Rudolph for identifying the bug in the bytecode generator which needed addressing for us to arrive at proper -0.0 behavior, and for writing the majority of this patch. A '-' followed immediately by either a number or a period should now always be treated as a single numeric literal, which means the minus binds more tightly than anything else. A specific example of how this differs from 2.8 final is: -5.+(10) == 5.0 // and not -15.0 The full range of potentially ambiguous parses involving prefix operators, numbers, and dots is quite large and still needs to be completely and clearly specified. Closes #2378 and #3657, review by odersky, jrudolph.
* Some tweaks to ListSet to make it less patholog...Paul Phillips2010-09-172-2/+15
| | | | | | | | | | | | | | | Some tweaks to ListSet to make it less pathological in its outlook. We can see some modest improvements in run time and answer quality via the enclosed test case: // with this patch: 2.250s elapsed, assertions pass. // without this patch: 51.441s elapsed, and it's a mercy killing: java.lang.StackOverflowError at scala.collection.immutable.ListSet$Node.contains(ListSet.scala:117) at scala.collection.immutable.ListSet$Node.contains(ListSet.scala:117) Closes #3822, review by community.
* Does what can probably be done about strange it...Paul Phillips2010-09-171-0/+17
| | | | | | | Does what can probably be done about strange iterator exhaustion behavior. Maybe we should start thinking about iteratees... Closes #3760, no review.
* part 2 of the dependent method refactoring: imp...Adriaan Moors2010-09-1617-33/+331
| | | | | | | | | | | | | | | part 2 of the dependent method refactoring: improved interaction with implicit search (needed for oopsla paper) more to come in this area, see e.g. #3346 (stanford edsl stuff) reopens #13, which wasn't fixed properly before imo, anyway (have a look at -Xprint:typer output before this commit: a type that's not expressible in surface syntax is inferred -- also removed duplicate test file) closes #3731: co-evolve type alias type symbols when their rhs is updated and they are referenced by type selections (see typemap) review by odersky
* closes #1569, #3731: refactored dependent metho...Adriaan Moors2010-09-169-3/+32
| | | | | | | | | | | | | | closes #1569, #3731: refactored dependent method types to get rid of debruijn indices and use singleton types instead. this is the core of the dependent types refactoring, no implicit or inference changes (one baffling discovery: resultType should drop annotations that don't subclass TypeConstraint, even in the trivial case... wow -- thanks to Tiark for helping me figure it out on a terrace in Barcelona TODO: probably need a more principled approach to the propagation of plugin type-annotations) review by odersky
* Overrode addString in TraversableViewLike.Paul Phillips2010-09-161-2/+2
| | | | | | | | | | | | | | | the Transform-derived traits within view resisted evaluating the entire sequence on a toString call, but the original view returned from a call to .view did not. This has a particularly bad result in the case of Stream, as for instance: Stream from 1 view would enter infiniteloopiland in the repl despite the fact that it should be doubly resistant to eager evaluation. Review by prokopec.
* Test for already closed #3088. No review.Paul Phillips2010-09-161-0/+9
| | | | | | | [Editorial correction: r23000 was submitted by Johannes Rudolph and my name inadvertently replaced his in the windy path from git to svn. The comments and code are his. Posterity, take note!]
* positioning fix for infix expressions: report e...Paul Phillips2010-09-158-8/+19
| | | | | | | | | | | | positioning fix for infix expressions: report error at the operator instead of at the receiver of a binop In general use the operator position as the Select position's point instead of the left or right expression. Position.union always uses the receiver's point as point of the result, so swapping fixes that. See http://www.scala-lang.org/node/6912 for the report.
* Gave StringBuilder a StringLike parent as endor...Paul Phillips2010-09-151-0/+7
| | | | | | Gave StringBuilder a StringLike parent as endorsed by martin in http://www.scala-lang.org/node/6893 . Review by odersky.
* Removed Throw from the set of unlabelled AST No...Paul Phillips2010-09-151-0/+6
| | | | | | Removed Throw from the set of unlabelled AST Nodes. Closes #3534, review by dragos.
* Added implicits to create Orderings from java's...Paul Phillips2010-09-151-0/+28
| | | | | | | Added implicits to create Orderings from java's Comparable and Comparator interfaces. Also some cleanup in Sorting. Review by community.
* Stream gets a specialized, extra-lazy Iterator ...Paul Phillips2010-09-151-0/+10
| | | | | | | | Stream gets a specialized, extra-lazy Iterator so it can iterate as lazily as it traverses. Patch submitted by "Eastsun": probably not his real name, but that's what we call him. Closes #3273, review by prokopec.
* Close #3835, review by extemporeLukas Rytz2010-09-142-0/+6
|
* closes #1693: improve implicit conversion disam...Adriaan Moors2010-09-142-10/+10
| | | | | | | | | | | closes #1693: improve implicit conversion disambiguation by incorporating the expected type of the member that triggered the conversion back-ported fix by Martin in embeddings branch. review by odersky (just in case it shouldn't have been back-ported)
* closes #3612.Adriaan Moors2010-09-141-0/+6
| | | | | | | | | | | | | given the definitions below (for full context, see test file), before, O0 would work but O would not, now both are accepted: {{{ object O0 extends C {} object O extends C { self => } }}} review by odersky