| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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 #3692: make instantiateTypeVar more careful so it does not change
T's info to >: T <: T.
review by odersky
|
|
|
|
|
|
|
|
| |
patch contributed by Mark Harrah in
http://article.gmane.org/gmane.comp.lang.scala/20700
reviewed by moors and odersky
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
in refchecks, visit the qualifier of irrefutable filters. close #3773.
review by moors.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
@implicitNotFound(msg="Custom error message that may refer to type parameters ${T} and ${U}")
trait Constraint[T, U]
whenever an implicit argument of type Constraint[A, B] cannot be found,
the custom error message will be used, where the type arguments are
interpolated in the obvious way
note: if the msg in the annotation references non-existing type params,
a warning is emitted
the patch also cleans up annotation argument retrieval (moved it to
AnnotationInfo from Symbol)
review by odersky
|
|
|
|
|
|
|
|
|
|
| |
cloneSymbol now preserves privateWithin -- need to reset it explicitly now when before it was assumed to be not to be carried over
rewrote accessibility in overriding checks so they're more readable, but
hopefully with same semantics
review by odersky
|
|
|
|
|
|
|
| |
Martin's review indicated this needs a better solution.
This reverts commit 6a62875b08f8a2c80aefee313f86429b2793ee2e.
|
|
|
|
|
|
|
|
| |
(I verified the added access check does not increase time for ant
test-opt)
review by odersky
|
|
|
|
|
|
|
|
| |
TODO: clean this up, introduce datatypes to denote kinds, split
checkKindBounds into kind inference and subkind checking
review by odersky
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
namers wasn't setting privateWithin on java-defined variables (btw, )
shouldn't clone carry over privateWithin? better treatment of linked )
class access boundary (only check for access within linked class if it )
actually exists )
would have liked more control for the test case: only javac should
compile the java file, then scalac should compile the scala file and
fail
review by odersky
|
|
|
|
|
|
|
|
|
|
|
|
| |
omit check that wouldn't work with separate compilation, not needed
anymore because compiler has become more robust
the actual fix was committed as part of r22512, see #3374
also see #3512
no review
|
|
|
|
|
|
| |
Fixed type soundness problem someone raised on hackers news. Test in
override.scala. Review by moors.
|
|
|
|
|
|
|
|
| |
gives fewer insensible warnings about actually sensible things, etc.
Large test case with 30 warnings elicited.
Closes #282 (again), no review.
|
|
|
|
|
|
| |
Modified r22702 to avoid tarring overloads with the same brush. No
review.
|
|
|
|
|
|
|
|
|
|
| |
Disallowed super.XX calls to Any methods which are presently either
crashing the compiler (isInstanceOf) or leading to runtime failure (==
and !=) in addition to one which was being rewritten to a this call but
makes more sense disallowed like the others (##).
Closes #3736, review by odersky.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
added @deprecatedName annotation, allowing to deprecate parameter names.
review by prokopec.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
no review
Author: Mark Harrah <dmharrah@gmail.com>
Date: Thu Jul 8 10:30:57 2010 -0400
Source: http://github.com/harrah/scala-starrless/commit/0c7759c95b47cebc6d9fa77cefd34ef638e2706e
Reviewer: moors
|
|
|
|
|
| |
review by extempore
|
|
|
|
|
|
| |
closes #3507: don't generate manifests where we can't refer to the
existentially bound value
|
|
|
|
|
|
|
| |
this broke the invariant that argss is a regular matrix
review by odersky
|
|
|
|
|
| |
review by odersky
|
|
|
|
|
|
| |
closes #3247: syntax error regarding context bounds generalized to
include view bounds as we cannot easily be more specific no review
|
|
|
|
|
|
|
|
|
|
| |
this patch introduces a new subclass of TypeTree: TypeTreeWithDeferredRefCheck, which tracks the type args and type params of a type application when it was beta-reduced during typing without checking that the application was well-kinded -- that check must wait until refchecks, but was never performed since the application had been beta-reduced away
caveat discovered while working on the fix: adapt turned all trees for
which _.isType holds into TypeTree's
review by odersky
|
|
|
|
|
|
|
|
| |
When compilation fails because of an unimplemented abstract var, give
a more precise error message about what happened. Also avoid issuing
the same error twice because neither getter nor setter is implemented.
Closes #36, review by rytz.
|
|
|
|
|
|
|
| |
Some more improvement on the error messages when @tailrec fails. Now it
gives a sensible message if the recursive target is actually a supertype
of this, rather than saying the call is not in tail position. No review.
|
|
|
|
|
|
| |
Fail more gracefully on > 22 case class parameters. Closes #3631, no
review.
|
|
|
|
|
|
| |
Warded off a parser crash on certain invalid programs. Closes #3209, no
review.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
A wholesale reversion of the pattern matcher to r21939, motivated by
the appearance of #3578. Closes #3578, reopens #2800, #3050. Review by
moors. (I can't keep saying "no review" when every move I make in here
seems to break something.)
|
|
|
|
|
|
| |
removed integration of placeholder syntax and named arguments. review by
odersky
|
|
|
|
|
|
|
| |
Reverts r21973, the patch I characterized as "hacky but no-risk" in my
commit message, for causing #3480. Closes #3480. I'd say no review but
who can trust a guy who throws around "no risk" with such abandon.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
also consider non-implicit locals when checking shadowing of implicits:
closes #3453
nonImplicitSynonymInScope implements the predicate that is used in
tryImplicit's checks for shadowing of locally defined implicits
benchmarking shows the predicate does not significantly affect quick.comp+quick.lib (goes from 11min to 11min2s on my machine -- no optimisations)
review by odersky
|
| |
|
|
|
|
|
|
| |
Added a migration warning for matches and instance tests when it might
be an Array/Seq test whose answer has changed. Review by odersky.
|