summaryrefslogtreecommitdiff
path: root/test/pending/run
Commit message (Collapse)AuthorAgeFilesLines
...
* SI-6342 cleans up toolbox APIEugene Burmako2012-09-1511-11/+11
| | | | | | 1) parseExpr => parse 2) runExpr => eval 3) Introduces compile(Tree): () => Any, since it has frequent uses
* SI-6310 AbsTypeTag => WeakTypeTagEugene Burmako2012-09-145-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | The new name for AbsTypeTag was a matter of a lengthy discussion: http://groups.google.com/group/scala-internals/browse_thread/thread/fb2007e61b505c4d I couldn't decide until having fixed SI-6323 today, which is about trying to reflect against a local class using typeOf. The problem with local classes is that they aren't pickled, so their metadata isn't preserved between Scala compilation runs. Sure, we can restore some of that metadata with Java reflection, but you get the idea. Before today typeOf of a local class created a free type, a synthetic symbol, with a bunch of synthetic children that remember the metadata, effectively creating a mini symbol table. That might be useful at time, but the problem is that this free type cannot be reflected, because the global symbol table of Scala reflection doesn't know about its mini symbol table. And then it struck me. It's not the presence of abs types (type parameters and abs type members) that differentiates arbitrary type tags from good type tags. It's the presence of types that don't map well on the runtime world - ones that can't be used to instantiate values, ones that can't be reflected. So we just need a name for these types. Phantom types are compile-time only concept, whereas our types can have partial correspondence with the runtime. "Weak types" sound more or less okish, so let's try them out.
* SI-6186 TypeTags no longer supported in macrosEugene Burmako2012-08-075-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original idea was to support both both TypeTags and ConcreteTypeTags as context bounds on macro implementations. Back then TypeTags were the implied default flavor of type tags. Basically because "TypeTag" is shorter than "ConcreteTypeTag" everyone jumped onto them and used them everywhere. That led to problems, because at that time TypeTags could reify unresolved type parameters ("unresolved" = not having TypeTag annotations for them). This led to a series of creepy errors, when one forgets to add a context bound in the middle of a chain of methods that all pass a type tag around, and then suddenly all the tags turn into pumpkins (because that unlucky method just reifies TypeRef(NoPrefix, <type parameter symbol>, Nil and passes it down the chain). Hence we decided to rename ConcreteTypeTag => TypeTag & TypeTag => AbsTypeTag, which makes a lot of sense from a reflection point of view. Unfortunately this broke macros (in a sense), because now everyone writes TypeTag context bounds on macro implementations, which breaks in trivial situations like: "def foo[T](x: T) = identity_macro(x)" (the type of x is not concrete, so macro expansion will emit an error when trying to materialize the corresponding TypeTag). Now we restore the broken balance by banning TypeTag from macro impls. This forces anyone to use AbsTypeTags, and if someone wants to check the input for presence of abstract types, it's possible to do that manually.
* evicts last traces of makro from our codebaseEugene Burmako2012-08-0214-15/+15
| | | | Removes the stubs left out to appease the old starr, fixes macro tests.
* SI-4560 - improved testJohannes Rudolph2012-07-241-9/+0
| | | | | | Added all the known cases of failing self-types. Added tests for symbol access (SI-4601) as well which should now be fixed for all of the same cases as well.
* SI-5999 removes Context.reifyEugene Burmako2012-07-205-5/+5
| | | | | | | | | | | | | | | | | | | | | | Currently there are discrepancies between the behavior of c.reify and c.universe.reify. First step in fixing these problems is removing the duplication in the API. That's why I'm cutting away the Context.reify shortcut. Context.reify is a magic macro, hardwired in the fast track mechanism, so removing it requires redeploying the starr (because an old starr will crash if launched on sources that don't contain Context.reify). To cleanly redeploy a starr I've left a Context.reify stub in sources, but hidden it behind a `protected` modifier. When starr is redeployed (in a subsequent commit) the stub will be removed. I've also updated the tests to use c.universe.reify instead of c.reify. This will break some of them, because c.universe.reify uses a standard compiler mirror, which unlike a macro mirror doesn't like packageless classes. That's an annoyance, but I think having clean separation of commits is more important that being 100% consistent.
* Merge pull request #935 from scalamacros/ticket/5695Adriaan Moors2012-07-183-22/+0
|\ | | | | SI-5695 removes Context.enclosingApplication
| * SI-5695 removes Context.enclosingApplicationEugene Burmako2012-07-183-22/+0
| | | | | | | | | | | | | | | | | | Apparently it's impossible to find out the enclosing Apply node if you're an argument being typechecked (because the arguments are typechecked separately from the enclosing Apply). This functionality is by far not a core feature of macros, so I'm removing it.
* | move test files that fail spuriously to pendingAdriaan Moors2012-07-176-0/+237
|/ | | | | | | | | | | | | | | 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.
* reify no longer dealiases symbols and typesEugene Burmako2012-07-0210-0/+163
| | | | | this uncovers a bug in toolboxes: https://issues.scala-lang.org/browse/SI-6007 however that bug is not critical, so it will be dealt with later
* Improves backward compatibility of manifestsEugene Burmako2012-07-024-0/+33
| | | | | | | | | | | | | | | | 1) type ClassManifest[T] = ClassTag[T] (solves a problem with toArray[T: ClassManifest] defined on most of the collections; if these types weren't aliases, then we won't be able to change the signature of that method to toArray[T: ClassTag], because that would break source compatibility for those who override toArray in their custom collections) 2) Compiler-generated manifests no longer trigger deprecation warnings (this is implemented by using ClassManifestFactory instead of ClassManifest and ManifestFactory instead of Manifest) 3) Deprecation messages got improved to reflect the changes that were introduced in 2.10.0-M4.
* enables reification of anonymous classesEugene Burmako2012-06-182-0/+18
|
* SI-5162 Exclude super.foo from the erasure cast of SI-4283Jason Zaugg2012-06-113-28/+0
| | | | | | | | | If the target method is defined in Java, treat the super reference as an error, otherwise allow it in the knowledge that Scala loosens the access restrictions on its generated classes. Moves the test for that bug out of pending-ville. It's sufficient to place Test in the empty package to exercise the right code paths.
* TypeTag => AbsTypeTag, ConcreteTypeTag => TypeTagEugene Burmako2012-06-082-5/+5
| | | | | This protects everyone from the confusion caused by stuff like this: https://issues.scala-lang.org/browse/SI-5884
* repairs the tests after the refactoring spreeEugene Burmako2012-06-0851-149/+120
|
* macros: -Xmacros is now retiredEugene Burmako2012-06-0811-11/+11
|
* Orphan checkfile remover.Paul Phillips2012-05-263-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Are these -msil checkfiles used in some secret fashion? The level of activity suggest otherwise. Since scala-nightly-msil has been disabled for over a year, it's an easy rm unless someone speaks up. % tools/rm-orphan-checkfiles Scanning for orphan check files... rm 'test/disabled/run/code.check' rm 'test/files/jvm/t1652.check' rm 'test/files/neg/macro-argtype-mismatch.check' rm 'test/files/neg/macro-noncompilertree.check' rm 'test/files/neg/macro-nontree.check' rm 'test/files/run/Course-2002-01-msil.check' rm 'test/files/run/Course-2002-02-msil.check' rm 'test/files/run/Course-2002-03-msil.check' rm 'test/files/run/Course-2002-04-msil.check' rm 'test/files/run/Course-2002-08-msil.check' rm 'test/files/run/Course-2002-09-msil.check' rm 'test/files/run/Course-2002-10-msil.check' rm 'test/files/run/absoverride-msil.check' rm 'test/files/run/bitsets-msil.check' rm 'test/files/run/boolord-msil.check' rm 'test/files/run/bugs-msil.check' rm 'test/files/run/impconvtimes-msil.check' rm 'test/files/run/infix-msil.check' rm 'test/files/run/iq-msil.check' rm 'test/files/run/macro-invalidret-doesnt-conform-to-impl-rettype.check' rm 'test/files/run/macro-rettype-mismatch.check' rm 'test/files/run/misc-msil.check' rm 'test/files/run/promotion-msil.check' rm 'test/files/run/richs-msil.check' rm 'test/files/run/runtime-msil.check' rm 'test/files/run/tuples-msil.check' rm 'test/pending/jvm/t1464.check' rm 'test/pending/run/subarray.check' rm 'test/pending/run/t0446.check' rm 'test/pending/run/t5629.check' Scanning for orphan flags files... rm 'test/files/neg/macro-argtype-mismatch.flags' rm 'test/files/neg/macro-noncompilertree.flags' rm 'test/files/neg/macro-nontree.flags' rm 'test/files/pos/anyval-children.flags' rm 'test/files/pos/t3097.flags' rm 'test/files/run/macro-invalidret-doesnt-conform-to-impl-rettype.flags' rm 'test/files/run/macro-rettype-mismatch.flags'
* Pending and passing tests.Paul Phillips2012-05-232-0/+44
| | | | | | | | 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.
* Pending test for SI-3899.Jason Zaugg2012-05-203-0/+39
| | | | | | The super accessor for the Java varargs method impedes Uncurry's efforts to convert repeated arguments to an Array. I'm not sure how to fix that.
*-. Merge commit 'refs/pull/547/head'; commit 'refs/pull/548/head'; commit ↵Paul Phillips2012-05-142-26/+0
|\ \ | | | | | | | | | 'refs/pull/549/head'; commit 'refs/pull/550/head'; commit 'refs/pull/551/head' into develop
| | * Better fix for SI-5676. Review by @paulpHubert Plociniczak2012-05-142-26/+0
| |/
* / Removing redunant/passing tests from pending.Paul Phillips2012-05-102-35/+0
|/
*---------. Merge remote-tracking branches 'scalamacros/ticket/5722', ↵Paul Phillips2012-05-0710-0/+103
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | '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-4560Eugene Burmako2012-05-081-0/+9
| | | | | |/ | | | | |/|
| | | | | * test for SI-4728Eugene Burmako2012-05-082-0/+13
| | | | |/
| | | * / test for SI-5610Eugene Burmako2012-05-084-0/+42
| | | |/
| | * / tests for SI-5726Eugene Burmako2012-05-072-0/+33
| | |/
| * / test for SI-5722Eugene Burmako2012-05-071-0/+6
| |/
* / Add test for t5695 in pending/runphaller2012-05-073-0/+22
|/
*-. Merge commit 'refs/pull/471/head'; commit 'refs/pull/473/head'; commit ↵Paul Phillips2012-05-042-69/+0
|\ \ | | | | | | | | | 'refs/pull/474/head'; commit 'refs/pull/475/head'; commit 'refs/pull/476/head' into develop
| | * Fixes SI-5514.Aleksandar Prokopec2012-05-041-35/+0
| |/ |/| | | | | | | | | The acceptIf and acceptMatch parsers now check for end of input. Review by moors.
| * Fix for si-5018.Aleksandar Prokopec2012-05-041-34/+0
|/ | | | Methods keySet, values and withDefault now return serializable collections.
* Moved passing tests from pending to files.Paul Phillips2012-05-0311-299/+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.
* Pending test for si-5514Aleksandar Prokopec2012-05-021-0/+35
|
* Pending test for si-5676.Aleksandar Prokopec2012-05-022-0/+26
|
* Add pending test for si-5698.Aleksandar Prokopec2012-05-023-0/+36
|
* Add pending test for SI-5018.Aleksandar Prokopec2012-05-021-0/+34
|
* diagnostics for SI-5692Eugene Burmako2012-04-253-0/+14
|
* minor fixes to reificationEugene Burmako2012-04-239-28/+6
|
* assorted stability fixesEugene Burmako2012-04-174-0/+23
|
* GroundTypeTag => ConcreteTypeTagEugene Burmako2012-04-121-3/+3
|
* Next generation of macrosEugene Burmako2012-04-1281-240/+395
| | | | | | | | | | | | | | | | | | | | | | Implements SIP 16: Self-cleaning macros: http://bit.ly/wjjXTZ Features: * Macro defs * Reification * Type tags * Manifests aliased to type tags * Extended reflection API * Several hundred tests * 1111 changed files Not yet implemented: * Reification of refined types * Expr.value splicing * Named and default macro expansions * Intricacies of interaction between macros and implicits * Emission of debug information for macros (compliant with JSR-45) Dedicated to Yuri Alekseyevich Gagarin
* A couple tests for pending.Paul Phillips2012-03-292-0/+27
|
* Clarifying MethodSynthesis.Paul Phillips2012-03-211-0/+17
| | | | | Tried to paint a picture of how one might synthesize an implicit method to accompany an implicit class.
* [vpm] typer synths Function{} for empty-sel matchAdriaan Moors2012-03-203-0/+5
| | | | | | | | | | | | | | | | | typedMatchAnonFun is called from typedFunction when the function's body is a match this is work-in-progres: the compiler currently won't bootstrap under -Yvirtpatmat see also the pending test make sure to use the right context in typeFunction when the body is a Match when typer is set up for type checking a Function, the current owner is the symbol for the function, but we'll type check a Block(List(ClassDef(cd)), New(cd)) when the function is a match, and the function symbol is nowhere to be found, so go to outer context in patmatvirt: - simplified default case gen (no need for a Casegen instance) - using CASE | SYNTHETIC to detect generated matches (for switches) and avoid typing them endlessly more uniform, and necessary for new-style anon Function class instance gen for matches
* Test case closes SI-4777.Paul Phillips2012-03-036-0/+141
| | | | | And pending tests for most of the other VerifyErrors which still fail to verify.
* Improving error message.Paul Phillips2012-02-281-0/+25
| | | | | Hacked filename into message to alleviate meaningless "_$1 defined twice" error condition. References SI-4893.
* A better error message for inheritance conflict.Paul Phillips2012-02-191-0/+10
| | | | | | And some tests for pending. Closes SI-5358.
* More specialization tests.Paul Phillips2012-02-192-17/+0
| | | | Some in pending, some in files. Closes SI-4770.
* More on SI-5500.Paul Phillips2012-02-181-0/+15
| | | | | | A reimagining of erik's patch in 1df4fc6e59 . He did the hard part, this is the batman reboot. I added more tests and tried to make the anyref caching code less fragile.