summaryrefslogtreecommitdiff
path: root/test/pending/pos
Commit message (Collapse)AuthorAgeFilesLines
* Simplified the widening logic.Paul Phillips2013-03-102-0/+20
| | | | | | | | | | Should speak for itself. Whenever someone changed @switch from an error to a warning, it broke all the tests which depended on the error. I added -Xfatal-warnings to a couple which needed it. And one of those tests was then failing, as it must now since we couldn't get away with what was being attempted, so I moved it to pending.
* Merge commit '644eb7078a' into wip/fresh-merge2Paul Phillips2013-02-012-0/+32
|\ | | | | | | | | | | Conflicts: build.xml src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
| * SI-6968 Simple Tuple patterns aren't irrefutableJason Zaugg2013-01-272-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | Reverts part of c82ecab. The parser can't assume that a pattern `(a, b)` will match, as results of `.isInstanceOf[Tuple2]` can't be statically known until after the typer. The reopens SI-1336, SI-5589 and SI-4574, in exchange for fixing this regression SI-6968. Keeping all of those fixed will require a better definition of irrefutability, and some acrobatics to ensure safe passage to the ambiguous trees through typechecking.
* | Pending test for SI-5459.Paul Phillips2013-01-291-0/+48
| |
* | Merge pull request #1864 from retronym/ticket/4859-6Paul Phillips2013-01-261-15/+0
|\ \ | | | | | | | | | SI-4859 Step back from mis-optimizations in qualifiers
| * | SI-4859 Don't rewrite CC().CC2() to new CC2Jason Zaugg2013-01-261-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | Where CC and CC2 are case classes. Attempting to do so leads to a "no legal prefix" error. Now, we restrict this optimization (living in RefChecks ?!) to case class applies with a "safe to inline" qualifier.
* | | Add PolyType to Infer#normalize.Paul Phillips2013-01-261-5/+48
|/ / | | | | | | | | | | | | | | | | | | | | It arises when inferring the type of an overloaded call: def g(s: String): String = s def f: String = ??? def f[C](c: C): String = g(f) Also refined warning when isHKSubType is called with arguments which very likely were never meant to be compared.
* | Fix for SI-4744, another variety of cycle.Paul Phillips2012-10-092-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I threw this in with the previous commit behind -Ybreak-cycles, but this one is much less sketchy. Explanation: have to handle f-bounds more deftly. Namers forces lower bounds to prevent recursion in that direction, but a light touch is required to handle these two situations differently: // This is a cyclic type parameter - an error is correct class A[T <: Comparable[_ <: T]] // This is not cyclic - it flips the arrow class B[T <: Comparable[_ >: T]] Long have I been haunted by the knowledge that you can write class B in java, but not in scala: public class B<T extends Comparable<? super T>> {} It's over! We've achieved parity with java.
* | Experimental option -Ybreak-cycles.Paul Phillips2012-10-094-0/+25
| | | | | | | | | | | | | | | | | | Overcomes cycles encountered during classfile parsing in possibly sketchy fashion. "illegal cyclic reference involving class Foo" is the watchword. See SI-3809.
* | Moved a bunch of passing tests out of pending.Paul Phillips2012-10-0430-271/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the test names can be believed, this covers SI-294 SI-1751 SI-1782 SI-2318 SI-3897 SI-4649 SI-4786 SI-5293 SI-5399 SI-5418 SI-5606 SI-5610 SI-5639 Most of these were moved to pending in 1729b26500 due to failures of unknown cause. It was suggested they be brought back "as soon as possible" and that was three months ago; I suppose it's now possible. If they need to be disabled again, please move them to test/disabled, not to test/pending. "disabled" should mean a formerly passing test in limbo; "pending" tests document bugs which await fixing. I also removed some dead files in test/ - the files with a "cmds" extension are from a failed experiment and do not do anything.
* | Merge branch '2.10.x' into 210-mergePaul Phillips2012-09-281-0/+54
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 2.10.x: (37 commits) Added logic and tests for unchecked refinements. Moved isNonRefinementClassType somewhere logical. Moved two tests to less breaky locations. Nailed down the "impossible match" logic. Finish docs for string interpolation. moves Context.ParseError outside the cake revives macros.Infrastructure moves Context.runtimeUniverse to TreeBuild.mkRuntimeUniverseRef a more precise type for Context.mirror gets rid of macros.Infrastructure simplifies Context.Run and Context.CompilationUnit exposes Position.source as SourceFile removes extraneous stuff from macros.Infrastructure merges macros.CapturedVariables into macros.Universe merges macros.Exprs and macros.TypeTags into Context removes front ends from scala-reflect.jar PositionApi => Position hides BuildUtils from Scaladoc MirrorOf => Mirror docs.pre-lib now checks for mods in reflect ... Conflicts: test/files/neg/t4302.check test/files/neg/unchecked.check test/files/neg/unchecked2.check
| * Additional new tests for unchecked warnings.Paul Phillips2012-09-251-0/+54
| |
* | Pending tests for SI-5954, SI-6225, SI-5877, SI-4695.Paul Phillips2012-09-268-0/+85
|/ | | | | Which are all package object bugs. Plus one more test regarding package object overloading.
* Pending test for SI-3943Paul Phillips2012-09-122-0/+22
|
* move test files that fail spuriously to pendingAdriaan Moors2012-07-1714-0/+54
| | | | | | | | | | | | | | | I have this sneaky suspicion that part of these spurious failures are caused by the recent partest optimizations. @axel22 already checked that compiler instances are not shared between test runs. However, except for the benchmark test, they all have a distinct race condition in symbol loading/type checking feel to them. Since, in the end, the tests and/or their corresponding fixes are as likely a culprit as the test framework, moving them out of the way until their owners can get them back in line and they stop throwing primate wenches into our build. We should bring them back as soon as possible, though.
* repairs the tests after the refactoring spreeEugene Burmako2012-06-081-9/+11
|
* Pending and passing tests.Paul Phillips2012-05-232-0/+7
| | | | | | | | Move now-passing SI-963 test into neg. Test for partial specialization. Pending test for SI-5008. Pending test for SI-4649. Abstract array type test.
* TreeMaker approximation refactorings and bug fixesAdriaan Moors2012-05-221-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - TypeTestTreeMaker subsumes the old TypeTestTM and TypeAndEqualityTM its type- and equality-testing logic is configurable so that it can: - generate trees (main purpose) - check whether this tree maker is a pure type test - generate the proposition that models this tree maker (for exhaustivity and other analyses) - [CSE] subst binders of dropped tm's to stored ones somehow the refactoring broke the replacement of the binder of dropped treemakers by the binder of the reused treemaker when replacing TM1(x1 => ...) >> TM2(x2 => ...) >> TM3(x3 => ...) >> ... TM1'(x1' => ...) >> TM2'(x2' => ...) >> TM3(x3' => ...) >> ... by Memo1(x1 => ...) >> TM2(x2 => ...) >> Memo2(x3 => ...) >> ... Reuse(Memo2)... you need to replace x1' and x2' by x1 since TM2 tested a shared condition but was not memo-ised, that implies it simply passed x1 through to x3 unmodified, and x2' can simply use the stored x1 - type of first uniqued binder sets type of tree when approximating a tree of treemakers as a DAG, where sharing indicates the same value is tested, use the type of the binder that was first used to create a unique tree as the type of that tree, and thus all trees used for the same binder in the future - track substitution of alternatives when approximating - error on unswitchable @switch annotated matches if we can't turn a match (with more than two cases) into a switch, but the user insists, emit an error misc notes: - when all you need is nextBinder, FunTreeMaker is your guy - must pass flag to TypeTestTM for extractorarg test case TypeTestTreeMaker(prevBinder, testedBinder, expectedTp, nextBinderTp) (prevBinder eq testedBinder) does not imply it's a pure type test for an extractor call note that the expected type for an extractor argument is not a type pattern, thus we only do a classic type test -- the idea was to detect that case by noticing we're being called with the same previous and tested binder, but that case also arises for Typed patterns
* Removing redunant/passing tests from pending.Paul Phillips2012-05-101-11/+0
|
* Test cases.Paul Phillips2012-05-105-0/+62
| | | | | | Closes SI-4482, SI-4651, SI-3702. Pending tests for SI-1832, SI-3439, SI-5091, SI-5231, SI-5265.
* More useful crash reports.Paul Phillips2012-05-101-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you can't get your hands on something which crashes scalac - I know, I know - you can try this ready-made crasher. % cat test/pending/pos/t4717.scala trait Bounds[@specialized A] { // okay without `>: A` def x[B >: A]: Unit = new Bounds[B] { lazy val it = ??? // def or val okay it } } % scalac -d /tmp test/pending/pos/t4717.scala error: while compiling: test/pending/pos/t4717.scala during phase: specialize library version: version 2.10.0-20120510-134429-ce1d68ed19 compiler version: version 2.10.0-20120510-152646-ba4dfd1e63 reconstructed args: -d /tmp last tree to typer: Select(This(trait Bounds$mcZ$sp), x$mcZ$sp) symbol: method x$mcZ$sp in trait Bounds$mcZ$sp (flags: override <method> <specialized>) symbol definition: override def x$mcZ$sp[B >: Boolean](): Unit tpe: [B >: Boolean]()Unit symbol owners: method x$mcZ$sp -> trait Bounds$mcZ$sp -> package <empty> context owners: value it -> anonymous class $anon -> method x$mcZ$sp -> trait Bounds$mcZ$sp -> package <empty> == Enclosing template or block == Block( Assign( $anon.this."it " Apply( // def ???(): Nothing in object Predef, tree.tpe=Nothing scala.this."Predef"."$qmark$qmark$qmark" // def ???(): Nothing in object Predef, tree.tpe=()Nothing Nil ) ) $anon.this."it " // lazy private[this] var it: Nothing, tree.tpe=Nothing ) == Expanded type of tree == PolyType( typeParams = List(TypeParam(B >: Boolean)) resultType = NullaryMethodType( resultType = TypeRef(TypeSymbol(final class Unit extends AnyVal)) ) ) // And then the usual stack trace
* Fix an inference regression with this.type.Paul Phillips2012-05-091-0/+16
| | | | Closes SI-5210.
* Add test for t5564 in pending/posphaller2012-05-081-0/+5
|
*---------. Merge remote-tracking branches 'scalamacros/ticket/5722', ↵Paul Phillips2012-05-076-0/+55
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | 'scalamacros/ticket/5726', 'scalamacros/ticket/5610', 'scalamacros/ticket/5654', 'scalamacros/ticket/5521', 'scalamacros/ticket/5585', 'scalamacros/ticket/5503', 'scalamacros/ticket/4728', 'scalamacros/ticket/5534' and 'scalamacros/ticket/4560'
| | | | | | * test for SI-5534Eugene Burmako2012-05-081-0/+11
| | |_|_|_|/ | |/| | | |
| | | | | * test for SI-5503Eugene Burmako2012-05-082-0/+19
| | |_|_|/ | |/| | |
| | | | * test for SI-5585Eugene Burmako2012-05-081-0/+18
| | |_|/ | |/| |
| | | * test for SI-5521Eugene Burmako2012-05-081-0/+3
| | |/ | |/|
| | * test for SI-5654Eugene Burmako2012-05-081-0/+4
| |/
| |
| \
| \
| \
*---. | Merge commit 'refs/pull/486/head'; commit 'refs/pull/487/head'; commit ↵Paul Phillips2012-05-071-0/+29
|\ \ \| | | | | | | | | | | | | 'refs/pull/488/head'; commit 'refs/pull/489/head'; commit 'refs/pull/490/head' into develop
| | * | Add test for t5579 in pending/posphaller2012-05-071-0/+29
| |/ /
* / / Add test files for t5639 in pending/posphaller2012-05-072-0/+14
|/ /
* / Add test file in pending/posphaller2012-05-061-0/+14
|/
* Removed some tests for a "not a bug".Paul Phillips2012-05-042-46/+0
|
* Moved passing tests from pending to files.Paul Phillips2012-05-033-51/+0
| | | | | | | | Most are pattern matcher bugs fixed by virtpatmat. A few are reifier, package object, or miscellaneous. I threw in an original test for SI-2337, to go with those for SI-1697, SI-3705, SI-4415, and SI-1357, all of which (in the interests of making sure this basket has all the eggs) I am closing.
* Test cases for SI-5472, SI-5399, SI-5685.Paul Phillips2012-05-034-11/+69
|
* Pending test for si-4683.Aleksandar Prokopec2012-05-021-0/+11
|
* Pending test for si-5240.Aleksandar Prokopec2012-05-021-0/+11
|
* Test case for si-5559.Aleksandar Prokopec2012-05-021-0/+23
|
* Test case for si-5606.Aleksandar Prokopec2012-05-021-0/+9
|
* migrates stdlib and compiler to tagsEugene Burmako2012-04-231-10/+10
| | | | | * all usages of ClassManifest and Manifest are replaced with tags * all manifest tests are replaced with tag tests
* A couple tests for pending.Paul Phillips2012-03-292-0/+35
|
* Moved and edited tests.Paul Phillips2012-02-2311-81/+80
| | | | | | Remove obsolete, move passing pending -> files, update those-kinds-are-high with some new info, added a couple new ones to pending.
* A better error message for inheritance conflict.Paul Phillips2012-02-191-0/+36
| | | | | | And some tests for pending. Closes SI-5358.
* More specialization tests.Paul Phillips2012-02-194-0/+28
| | | | Some in pending, some in files. Closes SI-4770.
* Specialization action.Paul Phillips2012-02-144-0/+45
| | | | | | | | | | | | | | | | | | | | | The crickets at http://www.scala-lang.org/node/11901 were in unanimous agreement that I should proceed as suggested. - No arguments to @specialize gets you 10/10, not 9/10 - Fixed bugs in AnyRef specialization revealed by trying to use it - Specialized Function1 on AnyRef. - Changed AnyRef specialization to use OBJECT_TAG, not TVAR_TAG. - Deprecated SpecializableCompanion in favor of Specializable, which has the virtue of being public so it can be referenced from outside the library. - Cooked up mechanism to group specializable types so we don't have to repeat ourselves quite so much, and create a few groups for illustrative purposes. I'm not too serious about those names but I used up all my name-thinking-up brain for the day. - Updated genprod and friends since I had to regenerate Function1. - Put tests for a bunch of remaining specialization bugs in pending. Closes SI-4740, SI-4770, SI-5267.
* Another existential problem down.Paul Phillips2012-02-111-54/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a window of danger when multiple related elements are being typed where something which is conceptually one thing can slip into two things, and those two things can be incompatible with one another. Less mysteriously, c478eb770d fixed this: def f = { object Bob ; Bob } ; val g = f But, it did not fix this: def f = { case class Bob() ; Bob } ; val g = f See test case pos/existentials-harmful.scala for an "in the wild" code example fixed by this commit. The root of the problem was that the getter and the field would each independently derive the same existential type to describe Bob, but those existentials were not the same as one another. This has been the most elusive bug I have ever fixed. I want to cry when I think of how much time I've put into it over the past half decade or so. Unfortunately the way the repl works it is particularly good at eliciting those grotesque found/required error messages and so I was never able to let the thing go. There is still a cosmetic issue (from the last commit really) where compound types wind up with repeated parents. Closes SI-1195, SI-1201.
* Failing tests for pending.Paul Phillips2012-02-103-0/+43
|
* Begone t1737...Hubert Plociniczak2011-11-0212-31/+31
|
* Renamed tests named bugXXX to tXXX, no review.Paul Phillips2011-08-246-4/+4
|