summaryrefslogtreecommitdiff
path: root/test/files/neg/names-defaults-neg.check
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Merge pull request #2957 from paulp/pr/parser-improvements"François Garillot2013-09-241-1/+1
| | | | | This reverts commit 884e1ce762d98b29594146d37b85384581d9ba96, reversing changes made to f6fcc4431f272c707d49de68add532c452dd4b0f.
* SI-7854, SI-6768 better parsing/positioning in parserPaul Phillips2013-09-181-1/+1
| | | | | | | | | | | | The parser hole I found while working on the generated positions serves as the umbrella for a host of improvements. Upgraded positions assigned during some specific challenging situations mostly involving the creation of synthetic trees, e.g. for comprehensions and closures. While doing so improved some error messages. Eliminated some of the most glaring duplication in the parser. It's written like there is some payoff associated with being spectacularly imperative. Not so far.
* SI-6221 inference with Function1 subtypes.Paul Phillips2013-06-131-3/+6
| | | | | | | | There appears to be no upper bound on the number of places we have to remove calls to typeSymbol and introduce calls to baseType. This one was type inference for function parameter types: worked when expected type was A => B, but not if there was an implicit conversion from A => B to the expected type.
* SI-6923 Context now buffers warnings as well as errorsBrian McKenna2013-01-071-1/+9
| | | | | | | | | | | | | | Code that was silently typed would not report warnings, even if it returned a successful result. This appeared in the following code which didn't show warnings even with -Ywarn-adapted-args: def foo(a: Any) = a; foo(1, 2) While the following would show the expected warning: def foo[A](a: Any) = a; foo(1, 2)
* refactors handling of parent typesEugene Burmako2012-12-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | At the moment parser does too much w.r.t handling of parent types. It checks whether a parent can have value arguments or not and more importantly, it synthesizes constructors and super calls. This approach is fundamentally incompatible with upcoming type macros. Take for example the following two snippets of code: `class C extends A(2)` `class D extends A(2) with B(3)` In the first snippet, `A` might be a type macro, therefore the super call `A.super(2)` eagerly emitted by the parser might be meaningless. In the second snippet parser will report an error despite that `B` might be a type macro which expands into a trait. Unfortunately we cannot simply augment the parser with the `isTypeMacro` check. This is because to find out whether an identifier refers to a type macro, one needs to perform a typecheck, which the parser cannot do. Therefore we need a deep change in how parent types and constructors are processed by the compiler, which is implemented in this commit.
* Better error message for pattern arity errors.Paul Phillips2012-09-121-1/+1
| | | | | | Because friends don't tell friends: "wrong number of arguments for <none>"
* Merge pull request #578 from lrytz/wip/t5044-squashedAdriaan Moors2012-05-191-1/+5
|\ | | | | fix SI-5044: better error message on cyclic error and named/default args
| * better feedback for SI-5044Lukas Rytz2012-05-181-1/+5
| |
* | Fix SI-4928Lukas Rytz2012-05-161-6/+6
|/ | | | better error message when a parameter is first defined positionally, then with a named argument.
* TypeVar tracing.Paul Phillips2012-01-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | % scala -Dscalac.debug.tvar scala> class Foo[CC[X] <: Traversable[X]] { def bar[T](xs: CC[T]) = xs.head } defined class Foo scala> new Foo bar List(1,2,3) [ create] ?CC ( In Foo[CC[X] <: Traversable[X]] ) [ create] ?CC ( In Foo[CC[X] <: Traversable[X]] ) [ setInst] Nothing ( In Foo[CC[X] <: Traversable[X]], CC=Nothing ) [ create] ?CC ( In Foo[CC[X] <: Traversable[X]] ) [ create] ?T ( In Foo[CC[X] <: Traversable[X]]#bar[T] ) [ create] ?A ( In List#apply[A] ) [ create] ?A ( In List#apply[A] ) [ setInst] Int ( In List#apply[A], A=Int ) [ create] ?CC ( In Foo[CC[X] <: Traversable[X]] ) [ create] ?T ( In Foo[CC[X] <: Traversable[X]]#bar[T] ) [ create] ?CC ( In Foo[CC[X] <: Traversable[X]] ) [ applyArgs] ?CC ( In Foo[CC[X] <: Traversable[X]], apply args ?T to CC ) [ setInst] List ( In Foo[CC[X] <: Traversable[X]], CC=List ) [ setInst] Int ( In Foo[CC[X] <: Traversable[X]]#bar[T], T=Int ) res0: Int = 1 Also, I gave TypeVar some polymorphism. Review by @moors.
* More performance work.Paul Phillips2011-12-301-10/+5
| | | | | | | Custom versions of collections which methods which operate on 2 or 3 collections. Eliminated most users of zip/zipped. Cleaned up the kinds checking code somewhat. Reduced the number of silent typechecks being performed at named argument sites.
* Selective dealiasing when printing errors.Paul Phillips2011-10-031-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** Important note for busy commit log skimmers *** Symbol method "fullName" has been trying to serve the dual role of "how to print a symbol" and "how to find a class file." It cannot serve both these roles simultaneously, primarily because of package objects but other little things as well. Since in the majority of situations we want the one which corresponds to the idealized scala world, not the grubby bytecode, I went with that for fullName. When you require the path to a class (e.g. you are calling Class.forName) you should use javaClassName. package foo { package object bar { class Bippy } } If sym is Bippy's symbol, then sym.fullName == foo.bar.Bippy sym.javaClassName == foo.bar.package.Bippy *** End important note *** There are many situations where we (until now) forewent revealing everything we knew about a type mismatch. For instance, this isn't very helpful of scalac (at least in those more common cases where you didn't define type X on the previous repl line.) scala> type X = Int defined type alias X scala> def f(x: X): Byte = x <console>:8: error: type mismatch; found : X required: Byte def f(x: X): Byte = x ^ Now it says: found : X (which expands to) Int required: Byte def f(x: X): Byte = x ^ In addition I rearchitected a number of methods involving: - finding a symbol's owner - calculating a symbol's name - determining whether to print a prefix No review.
* Since I don't want to commit anything "interest...Paul Phillips2011-05-011-8/+8
| | | | | | | | Since I don't want to commit anything "interesting" until we ship 2.9, a few uninteresting cleanups involving how types are printed, getting some debugging code in shape to prepare for the long winter ahead, etc. No review.
* Some cleanup from investigating #4041, with a c...Paul Phillips2011-02-091-6/+6
| | | | | | Some cleanup from investigating #4041, with a comment instead of a fix for the ticket. Review by rytz in case he sees a good way to fix it.
* A raw tree was making its way into an error mes...Paul Phillips2011-01-281-5/+1
| | | | | | A raw tree was making its way into an error message. Removed. Closes #4196, no review.
* Some refinement of the error messages when the ...Paul Phillips2010-11-181-2/+2
| | | | | | | | | | | | | | | | | Some refinement of the error messages when the found and required types have the same simple names. No longer must we watch people scratch their heads at such messages as: found : scala.collection.Set[String] required: Set[String] Now so clear you could enjoy a movie through it: found : scala.collection.Set[String] required: scala.collection.immutable.Set[String] No review.
* better error message for default arguments.Lukas Rytz2010-09-031-13/+16
|
* close #3685. review by moors.Lukas Rytz2010-08-051-1/+27
|
* added @deprecatedName annotation, allowing to d...Lukas Rytz2010-08-031-5/+18
| | | | | | added @deprecatedName annotation, allowing to deprecate parameter names. review by prokopec.
* close #3648 (again).Lukas Rytz2010-07-131-5/+8
|
* removed integration of placeholder syntax and n...Lukas Rytz2010-06-161-3/+16
| | | | | | removed integration of placeholder syntax and named arguments. review by odersky
* Fixed typo in error message. No review.Martin Odersky2010-04-231-2/+2
|
* fix #2488.Lukas Rytz2009-11-121-26/+23
|
* the essence of tcpoly inference + test casesAdriaan Moors2009-10-221-2/+5
| | | | | | fixes to check files and removed nonapplicable test case Tuple2 impl, but commented out so that we can bootstrap whitespace...
* fixed #2290 and #2325Lukas Rytz2009-09-241-10/+1
|
* rewrite of positions in compilerMartin Odersky2009-07-301-5/+1
|
* added "diagnostic" to context.Lukas Rytz2009-07-011-0/+3
|
* Enhanced error message when a type error is bec...Paul Phillips2009-06-301-2/+2
| | | | | | Enhanced error message when a type error is because of identically named classes, one in scala.* and one not.
* small fix to named argumentsLukas Rytz2009-06-251-20/+24
|
* named arguments only at top level in () paramet...Lukas Rytz2009-06-251-20/+29
| | | | | named arguments only at top level in () parameters.
* improvements to names / defaults (implicits, ty...Lukas Rytz2009-06-201-15/+26
| | | | | | improvements to names / defaults (implicits, type of defaults, #2064, ...)
* allow using named / default arguments in self- ...Lukas Rytz2009-06-151-14/+2
| | | | | | allow using named / default arguments in self- and super constructor calls. fixes #2050 and #2052.
* removed code for parsing old pickle format.Lukas Rytz2009-06-031-1/+6
|
* named argument disallowed when assignment expre...Lukas Rytz2009-06-021-16/+8
| | | | | | named argument disallowed when assignment expression would typecheck. minor fixe to names / defaults.
* Named and default argumentsLukas Rytz2009-05-301-0/+108
- MethodTypes now have (params: List[Symbol]) - "copy"-methods for case classes - the "copy" object in the compiler is now called "treeCopy"