| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
@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
|
|
|
|
|
|
|
| |
the added flexibility'll cost ya one ClassManifest
review by phaller
|
|
|
|
|
| |
no review
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
different approach to manifests of type parameters: before, ambiguity was prevented by leaving type inference failures (Nothing was inferred) in the expression that needs an implicit manifest -- we now put these back in undetparams (maybe they will be inferred) and when we need to produce a manifest for an undetermined parameter (it ended up not being inferred), we assume it will get instantiated to Nothing (but for now don't actually reflect that in the SearchResult, as instantiate should take care of that anyway)
see test file for use case that works with this new scheme, but did not work before: the eager instantiation of type params to Nothing before implicit search even got started would indeed prevent ambiguity -- unfortunately it also ruled out valid code like this (where the type parameter is inferred successfully by the time the manifest is needed)
review by odersky
|
|
|
|
|
|
|
|
|
|
|
| |
closes #3676: cycle detection logic in BaseTypeSeq's should not
overwrite elements in the BTS for cycle detection as these markers may
be witnessed by callbacks in mergePrefixAndArgs
now using a mutable bitset to keep track of which computations are pending -- benchmarked for speed, memory consumption not checked
review by odersky
|
| |
|
|
|
|
|
|
|
|
| |
gives fewer insensible warnings about actually sensible things, etc.
Large test case with 30 warnings elicited.
Closes #282 (again), no review.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
closes #3582: typedTypeDef needs to run in a new typer for TypeDefs with
type parameters
this was honored when typedTypeDef was called by typed1, but other
callers did not this would cause higher-order type parameters to be
re-entered in the scope of a method or a class
(by the way, should we recycle scopes for higher-order type params? now
new scopes are created, symbols entered, and tree's symbols updated)
changed some spurious vars to vals
review by odersky
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
fixes names/defaults when using :_* for specifying repeated parameters.
close #3697, no review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
scala> def ser(o: AnyRef) = new java.io.ObjectOutputStream(new java.io.ByteArrayOutputStream()).writeObject(o)
ser: (o: AnyRef)Unit
scala> @serializable class Outer {
| case class Inner(x: Int)
| }
defined class Outer
scala> val o = new Outer
o: Outer = Outer@34469729
scala> ser(new o.Inner(1))
scala> o.Inner // initialize the Inner$module field of o
res1: o.Inner.type = Inner
scala> ser(new o.Inner(1))
java.io.NotSerializableException: Outer$Inner$
review by extempore.
|
| |
|
| |
|
|
|
|
|
|
| |
added @deprecatedName annotation, allowing to deprecate parameter names.
review by prokopec.
|
|
|
|
|
|
|
| |
Parse ordering issue prevented passing properties containing a :. There
is a test case included, but note that partest passes it with or without
the patch: see ticket #3712. Closes #3495, no review.
|
|
|
|
|
| |
Fixes priority queues and makes them iterables now.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Moved the burden of forgivingness for string slices into StringOps where
it belongs. Review by odersky.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
closes #3622: refchecks erased types without uncurrying them first
review by odersky
|
|
|
|
|
| |
review by extempore
|
|
|
|
|
|
| |
closes #3507: don't generate manifests where we can't refer to the
existentially bound value
|
|
|
|
|
| |
review by prokopec
|