summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | SI-7265 javaSpecVersion, adjust isJava... testsSom Snytt2013-08-012-27/+13
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make this and related properties public, because they are useful. This change ought to have been committed at 2.11 and then backported with restrictions, rather than vice-versa. Note that they are defined in the order, version, vendor and name, which is the order from the underlying javadoc. It would be a neat feature of the PR validator, as previously imagined, to run a "pending" test and then, on success and merge, to move it automatically to the canonical suite.
* | | | | | | Merge pull request #2804 from adriaanm/rebase-2763Adriaan Moors2013-08-121-0/+17
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-7690 ghost error message fails compile [Rebase of #2763]
| * | | | | | | SI-7690 ghost error message fails compilePaul Phillips2013-08-111-0/+17
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I won't even try to explain the error reporting code, because it would have no basis in reality. However this change appears to fix the symptom reported.
* | | | | | | Merge pull request #2807 from som-snytt/issue/partest-dirAdriaan Moors2013-08-124-26/+17
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-7729 Does Par-Test work? Absolutely!
| * | | | | | | SI-7729 Does Par-Test work? Absolutely!Som Snytt2013-08-081-18/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Testicolor just passed file arguments through; this commit does either toAbsolute or getAbsoluteFile (depending on the File API impedance mismatch) at ConsoleRunner (command line) and Runner (ant supplies absolute paths, but in case sbt runner doesn't, and who knows). It also sprinkles toAbsolute internally, where it may be redundant. Do I mean redundant or redolent? I noticed that my branch from last year relativized to test root always; so this is one of those choices one commits to. The point of breakage in this case was, if a path is not absolute, use test root / path, which only works (of course) if the relative path is relative to test root, which is no longer the case. Because all paths are now calculated with respect to the test file path, the "out" dir would change its relative path depending on the invocation.
| * | | | | | | Par-Test split checks work againSom Snytt2013-08-083-8/+5
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check files split into conditional blocks with partest flags have been broken since the new diff regime. For some reason, no one noticed. The clever scheme to "filter the diff" instead of just filtering the check file is abandoned as futile and unnecessary. Fix java6 checkfile for ifdiff fix.
* | | | | | | Merge pull request #2764 from folone/masterGrzegorz Kossakowski2013-08-121-0/+59
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Making map2Conserve occupy constant stack space in spirit of SI-2411.
| * | | | | | | Make map2Conserve occupy constant stack space in spirit of SI-2411George Leontiev2013-08-081-0/+59
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I recently discovered a StackOverflowError, caused by this function: https://gist.github.com/folone/7b2f2e2a16314ab28109 The circumstances are pretty extreme, still having a tail-recursive function seems to be a good idea. The function behaves the same way old function did (supported by tests), which is not really how map2 behaves. I did not change this behavior to not introduce any regression. I actually tried to make it behave like map2, and it does introduce regression.
* | | | | | | Merge pull request #2812 from xeno-by/topic/defdef-name-now-termnameGrzegorz Kossakowski2013-08-121-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | DefDef.name is now TermName again
| * | | | | | | DefDef.name is now TermName againEugene Burmako2013-08-101-1/+1
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now when there's no hope left for type macros, it's reasonable to provide a more specific type for DefDef.name.
* | | | | | | Merge pull request #2797 from paulp/pr/erasure-n-squaredGrzegorz Kossakowski2013-08-121-0/+35
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Fix N^2 spot in erasure.
| * | | | | | Fix N^2 spot in erasure.Paul Phillips2013-08-051-0/+35
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An expression containing nested casts would type the same tree 2^N times where N is the number of nested casts. This was particularly visible in Vector.scala where one can find a six-cast expression. It's currently line "why was six afraid of seven", aka line 789. display5((index >> 25) & 31) .asInstanceOf[Array[AnyRef]]((index >> 20) & 31) .asInstanceOf[Array[AnyRef]]((index >> 15) & 31) .asInstanceOf[Array[AnyRef]]((index >> 10) & 31) .asInstanceOf[Array[AnyRef]]((index >> 5) & 31) .asInstanceOf[Array[AnyRef]](index & 31) .asInstanceOf[T] Compiling Vector.scala, before/after. < #unique types : 10805 > #unique types : 9722 < #created tree nodes : 26716 > #created tree nodes : 25647 I found a similar bug about a year ago in 39f01d4f48. It's interesting to consider how little defense we have against bugs of this nature - visually non-obvious differences in tree traversal can have spectacular impact on complexity.
* | | | | | Merge pull request #2776 from gkossakowski/symbolTable-refactoringsGrzegorz Kossakowski2013-08-063-4/+139
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Refactor the cake so SymbolTable does not depend on Global
| * | | | | Add sample to SymbolTableTest using custom symbols and type.Grzegorz Kossakowski2013-08-021-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a test which demonstrates how one can create symbols and types from scratch and perform sub type check using them.
| * | | | | Address TODOs around SymbolLoaders and SymbolTable.Grzegorz Kossakowski2013-07-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SymbolTable refactoring introduced some TODOs that were supposed to be addressed after M5 release. The reason I couldn't address those problems right away was a conflict with our plans to modularize Scaladoc and interactive. However, we decided to delay that work until after M5 is released so addressing TODOs is not blocked anymore. This commit introduces the following changes: * Eclipse project definitions for interactive and scaladoc depend on scala-compiler project so they are builded against latest version of the compiler (quick) instead of STARR. This aligns our Eclipse project definitions with build.xml structure. * Introduce GlobalSymbolLoaders class which wires dependencies of SymbolLoaders with assumption of dependency on Global. * Switch to GlobalSymbolLoaders in BrowsingLoaders, interactive Global and ScaladocGlobal; this eliminates all TODO comments introduced before
| * | | | | Add example of SymbolTable unit test.Grzegorz Kossakowski2013-07-272-0/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a SymbolTableTest which contains all the code needed to initialize a SymbolTable in JUnit environment. It shows that initialization of definitions works and one can easily lookup some symbols and perform tests like subtyping tests.
| * | | | | Remove dependency on typer phase in ClassfileParser.Grzegorz Kossakowski2013-07-271-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ClassfileParser depends on forcing infos during typer phase. It's not entirely clear why this is needed (git blame doesn't help much) but I decided to preserve the logic. Therefore, I introduced an abstract method called `lookupMemberAtTyperPhaseIfPossible` which preserves the original semantics but is implemented outside of ClassfileParser so the ClassfileParser itself doesn't need to depend on typer phase and phase mutation utilities. I removed `loaders` override in `test/files/presentation/doc`. I would have to update it to implement the `lookupMemberAtTyperPhaseIfPossible` method. However, the override doesn't seem to be doing anything useful so I just removed it.
* | | | | | Merge remote-tracking branch 'scala/master' into merge-2.10.xGrzegorz Kossakowski2013-07-2920-42/+49
|\ \ \ \ \ \
| * \ \ \ \ \ Merge pull request #2746 from soc/topic/paulp-typer-debug-outputAdriaan Moors2013-07-2919-40/+47
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | Improve type printing (toString/debugging)
| | * | | | | | Make -Ytyper-debug output readable.Paul Phillips2013-07-1717-34/+36
| | | | | | | |
| | * | | | | | Cleanups in type printing.Paul Phillips2013-07-174-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More consistency as to how to understand aliases, singletons, specialized symbols, subclasses. Fewer weird special casings, like normalizing tuples and functions during type printing, but nothing else. I avoid "normalize" entirely now, and do not make special cases for dealiasing, which is already well handled when printing error messages. Look at the change to test/files/neg/t2641.check to get a sense of why we should resist calling normalize during the early days of a compilation run. Anonymous and refinement classes can be printed far more usefully by revealing their parents, and that too is here. Hardened toString against undesirable side effects. Make toString final to discourage any further rogue toString overriders. Make safeToString a little safer.
* | | | | | | | Merge remote-tracking branch 'scala/2.10.x' into merge-2.10.xGrzegorz Kossakowski2013-07-2923-18/+638
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | / / / / | | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: bincompat-backward.whitelist.conf bincompat-forward.whitelist.conf src/compiler/scala/reflect/reify/phases/Reshape.scala src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala src/compiler/scala/tools/nsc/transform/Mixin.scala src/compiler/scala/tools/nsc/typechecker/RefChecks.scala src/compiler/scala/tools/nsc/typechecker/Typers.scala src/library/scala/concurrent/impl/Promise.scala src/reflect/scala/reflect/internal/StdAttachments.scala test/files/neg/macro-override-macro-overrides-abstract-method-b.check test/files/run/t7569.check
| * | | | | | Rename t7636-neg.check to the standard t7636.check.Adriaan Moors2013-07-291-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Not sure which partest bug allowed this, but the old name was wrong.
| * | | | | | Merge pull request #2750 from retronym/ticket/7455-2.10.xGrzegorz Kossakowski2013-07-273-0/+65
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-7455 Drop dummy param for synthetic access constructor
| | * | | | | | SI-7455 Drop dummy param for synthetic access constructorJason Zaugg2013-07-283-0/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Java synthesizes public constructors in private classes to allow access from inner classes. The signature of that synthetic constructor (known as a "access constructor") has a dummy parameter appended to avoid overloading clashes. javac chooses the type "Enclosing$1" for the dummy parameter (called the "access constructor tag") which is either an existing anonymous class or a synthesized class for this purpose. In OpenJDK, this transformation is performed in: langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java (Incidentally, scalac would just emits a byte-code public constructor in this situation, rather than a private constructor / access constructor pair.) Scala parses the signature of the access contructor, and drops the $outer parameter, but retains the dummy parameter. This causes havoc when it tries to parse the bytecode for that anonymous class; the class file parser doesn't have the enclosing type parameters of Vector in scope and crash ensues. In any case, we shouldn't allow user code to see that constructor; it should only be called from within its own compilation unit. This commit drops the dummy parameter from access constructor signatures in class file parsing.
| * | | | | | | Merge pull request #2738 from retronym/ticket/7636Grzegorz Kossakowski2013-07-272-0/+17
| |\ \ \ \ \ \ \ | | |_|_|_|_|/ / | |/| | | | | | SI-7636 Fix a NPE in typing class constructors
| | * | | | | | SI-7636 Fix a NPE in typing class constructorsChristopher Vogt2013-07-162-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we encountered an erroneous super call due to a failure in parent type argument inference, we must avoid inspecting the untyped children of erroneous trees.
| * | | | | | | [backport] SI-7569 Fix end position in PostfixSelect treeFrançois Garillot2013-07-242-0/+31
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | introduced in 5b54681: the end position of Postfix operators should take the operator length into account. review by @som-snytt
| * | | | | | SI-7657 clarifies the "macro overrides method" ruleEugene Burmako2013-07-146-18/+38
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we allow macros to override non-abstract methods (in order to provide performance enhancements such as foreach for collections), and we also disallow macros to override abstract methods (otherwise downcasting might lead to AbstractMethodErrors). This patch fixes an oversight in the disallowing rule that prohibited macros from overriding a concrete method if that concrete method itself overrides an abstract method. RefCheck entertains all overriding pairs, not only the immediate ones, so the disallowing rule was triggered. Now macros can override abstract methods if and only if either the base type or the self type contain a matching non-abstract method.
| * | | | | Merge pull request #2674 from richdougherty/2.10.x-si7336-try2Adriaan Moors2013-07-122-0/+375
| |\ \ \ \ \ | | | | | | | | | | | | | | SI-7336 Link flatMapped promises to avoid memory leaks
| | * | | | | SI-7336 - Link flatMapped promises to avoid memory leaksRich Dougherty2013-07-062-0/+375
| | |/ / / /
| * | | | | Merge pull request #2666 from som-snytt/issue/7265-spec-at-leastAdriaan Moors2013-07-122-0/+73
| |\ \ \ \ \ | | | | | | | | | | | | | | SI-7265 General test for spec version
| | * | | | | SI-7265 General test for spec versionSom Snytt2013-07-042-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test for isJavaAtLeast uses the specification.version. The method argument must have the form "major.minor". The scaladoc is updated to reflect the new reality and a test is added under junit. Note that this implementation aims to be a simple compromise between the functional and imperative camps, that is, to be free of both closures and while loops. And to elicit no cruft like regexes and wrappers for strings. No doubt even more could be done in this department, but we don't wish to spoil the fun on codegolf.stackexchange.com. However, we might decide to sponsor a new site: codereviewpingpong.com For 2.10.x, javaSpecVersion is provided as a private member. The active test is under `run` and the `junit` test must bide its time in `pending`. For 2.11, the private members can be public and the app test replaced with the unit test.
| * | | | | | Merge pull request #2721 from retronym/ticket/7649Adriaan Moors2013-07-122-0/+21
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-7649 Fix positions for reshaped tag materializers
| | * | | | | | SI-7649 Fix positions for reshaped tag materializersJason Zaugg2013-07-112-0/+21
| | | |/ / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calls to `materializeClassTag[T]` are replaced during reification with `implicitly[ClassTag[T]]` in the `reify` macro. This is done to avoid referring to symbols in scala-compiler.jar. Class- and Type-Tag materialization is treated in the same way. This commit positions the replacement trees to avoid triggering assertions under -Yrangepos.
| * | | | | | Merge pull request #2689 from scalamacros/ticket/7617Adriaan Moors2013-07-126-0/+49
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-7617 typedAssign no longer expands lhs
| | * | | | | | SI-7617 typedAssign no longer expands lhsEugene Burmako2013-07-096-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure that setter and updateDynamic macros work as intended rather than in some cases expanding incorrectly or prematurely. Setter invocations are desugared from assignments of values to getters. If a typecheck of an assignment's lhs yields an invocation of a getter, then the assignment is rewritten into an invocation of a setter. However if a getter is a macro, then it just expands, destroying the prerequisite for desugaring. Therefore we need to disable expansion for the typecheck of an lhs. Similar thing happens to updateDynamic that first desugars a getter invocation into q"$target.updateDynamic($fieldName)" and then expects typedAssign to rewrite the corresponding Assign node into an additional application of a partially applied updateDynamic to a rhs. Here we also need to disable the typecheck of an lhs, because macros cannot be partially applied.
| * | | | | | | SI-7638 Superaccessor lookup after specializationVlad Ureche2013-07-081-0/+51
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The crash was caused by a symbol lookup to rewire the super calls, done after pickler, but specialization added new traits and new members, thus making the super rewiring impossible. To avoid such problems, this patch moves symbol lookup after specialization, so the changes done by specialization (and miniboxing) become visible to mixin. NOTE: This patch will be followed by a similar patch to master. Review by @adriaanm or @retronym.
| * | | | | | Merge pull request #2655 from VladUreche/issue/7344Adriaan Moors2013-06-261-0/+53
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-7344 Specialize methods in private scopes
| | * | | | | | SI-7344 Specialize methods in private scopesVlad Ureche2013-06-251-0/+53
| | | |/ / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This performs method specialization inside a scope other than a {class, trait, object}: could be another method or a value. This specialization is much simpler, since there is no need to record the new members in the class signature, their signatures are only visible locally. It works according to the usual logic: - we use normalizeMember to create the specialized symbols - we leave DefDef stubs in the tree that are later filled in by tree duplication and adaptation The solution is limited by SI-7579: since the duplicator loses the sym annotations when duplicating, this expansion and rewiring can only take place in code that has not been subject to duplication. You can see the test case for an example. Review by @dragos, @paulp or @axel22.
* | | | | | | Merge pull request #2739 from retronym/ticket/7668Adriaan Moors2013-07-291-0/+12
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-7668 Better return type inheritance for dep. method types
| * | | | | | | SI-7668 Better return type inheritance for dep. method typesJason Zaugg2013-07-161-0/+12
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return type inheritance already handles substitution of type parameters of the overriding method for those of the overriding. This commit extends this to do the same for parameter symbols.
* | | | | | | Merge pull request #2737 from retronym/ticket/7669Adriaan Moors2013-07-296-2/+24
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-7669 Fix exhaustivity warnings for recursive ADTs.
| * | | | | | | SI-7669 Fix exhaustivity warnings for recursive ADTs.Jason Zaugg2013-07-176-2/+24
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pattern matcher's analysis was correctly finding models under which the match in the enclosed test could fail. But, when trying to render that model as a counter example, it ran into an internal inconsistency and gave up. That inconsistency arose from VariableAssignment, which: > turn the variable assignments into a tree > the root is the scrutinee (x1), edges are labelled > by the fields that are assigned a node is a variable > example (which is later turned into a counter example) In the process, it notes the unreachable case `V2 = NotHandled`, which can only arise if `V1 = Op`, ie the scrutinee is `Op(NotHandled())`. V2 is assosicated with the path `x1.arg`. The code then looked for any variable assosicated with the prefix `x1` and registered that its field `arg` was assosicated with this variable assignment. However, the assignment for `V1 = NotHandled` (another missing case) is also associated with the path `x1`. Registering this field makes no sense here; we should only do that for `Op`. This commit conditionally registers the fields based on the class of `VariableAssignment#cls`. We no longer hit the inconsistency in `VariableAssignment#allFieldAssignmentsLegal`. This favourably changes the results of two existing tests. I had to tweak the counter example pruning to avoid relying on CounterExample.==, which is flaky in the light of Nil and List(). It is possible to have: A, B where A != B && A.coveredBy(B) && B.coveredBy(A) Luckily it is straightforward to implement pruning entirely with coveredBy.
* | | | | | | Merge pull request #2690 from soc/SI-7620Adriaan Moors2013-07-297-50/+3
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-7620 Remove floating-point-literals-without-digit-after-dot
| * | | | | | | SI-7620 Remove floating-point-literals-without-digit-after-dotSimon Ochsenreither2013-06-287-50/+3
| | | | | | | |
* | | | | | | | Merge pull request #2765 from retronym/ticket/7689Grzegorz Kossakowski2013-07-271-0/+7
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | SI-7689 Fix typing regression with default arguments
| * | | | | | | | SI-7689 Fix typing regression with default argumentsJason Zaugg2013-07-241-0/+7
| | |_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regressed in e28c3edda4. That commit encoded upper/lower bounds of Any/Nothing as EmptyTree, which were triggering the .isEmpty check in Namers#TypeTreeSubstitutor and resulting in the default getter having TypeTree() as the return type. This resulted in a "missing parmameter type" error. This commit tightens up that condition to only consider empty TypeTrees (those wrapping null or NoType.)
* | | | | | | | Merge pull request #2772 from som-snytt/issue/6123-fix-testGrzegorz Kossakowski2013-07-275-0/+21
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | SI-7695 Macro debug output on -explaintypes
| * | | | | | | | SI-7695 Macro debug output on -explaintypesSom Snytt2013-07-275-0/+21
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It looks like checkConforms should wait for error before using explainTypes, rather than turning on macro debug trace if explaintypes is set. In particular, macro debug output is Console.println instead of reporter.echo or similar, so partest can't test it.