aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Bump to 0.9.6-SNAPSHOTbump/0.9.6-2.11Jason Zaugg2015-07-281-1/+1
|
* Merge pull request #122 from retronym/ticket/120v0.9.5_2.11Jason Zaugg2015-07-273-2/+50
|\ | | | | Avoid masking user exception with ??? for Nothing typed expressions
| * Avoid masking user exception with ??? for Nothing typed expressionsJason Zaugg2015-07-273-2/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code like: val x = if (cond) throw new A else throw new B Was being transformed to: val ifRes = ??? if (cond) ifRes = throw new A else ifRes = throw new B val x = ifRes by way of the use of `gen.mkZero` which throws `???` if the requested type is `Nothing` This commit special cases `Nothing` typed expressions in a similar manner to `Unit` type expressions. The example above is now translated to: if (cond) throw new A else throw new B val x = throw new IllegalStateException() Fixes #120
* | Merge pull request #121 from retronym/ticket/119Jason Zaugg2015-07-271-1/+1
|\ \ | | | | | | Avoid leaking untyped trees out of macro
| * | Avoid leaking untyped trees out of macroJason Zaugg2015-07-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The stack trace and bisection in #119 made me notice that we are failing to typecheck the cast we generated in the fix for #74. The ticket doesn't have a reproduction, so I'm submitting this without a test case. Fixes #119
* | | Merge pull request #126 from retronym/merge/2.10.x-to-master-20150727Jason Zaugg2015-07-271-1/+1
|\ \ \ | |_|/ |/| | Merge 2.10.x to master
| * | Merge remote-tracking branch 'origin/2.10.x' into ↵Jason Zaugg2015-07-271-1/+1
|/| | | | | | | | | | | merge/2.10.x-to-master-20150727
| * | Merge pull request #125 from retronym/topic/travis-bumpJason Zaugg2015-07-271-1/+1
| |\ \ | | | | | | | | Opt in to container based TravisCI
| | * | Opt in to container based TravisCIJason Zaugg2015-07-271-1/+1
| |/ /
| * | Merge pull request #118 from scala/bump/0.9.5-SNAPSHOT_2.10Jason Zaugg2015-07-071-1/+1
| |\ \ | | | | | | | | Bump version to v0.9.5-SNAPSHOT
| | * | Bump version to v0.9.5-SNAPSHOTbump/0.9.5-SNAPSHOT_2.10Jason Zaugg2015-07-071-1/+1
| |/ /
* | | Merge pull request #123 from retronym/topic/sbt-bumpJason Zaugg2015-07-271-1/+1
|\ \ \ | | |/ | |/| Update SBT to support the command, which is assumed by sbt-extras
| * | Update SBT for the warn command, now assumed by sbt-extrasJason Zaugg2015-07-271-1/+1
|/ /
* | Merge pull request #117 from scala/bump/0.9.5-SNAPSHOTJason Zaugg2015-07-071-1/+1
|\ \ | | | | | | Bump to 0.9.5-SNAPSHOT
| * | Bump to 0.9.5-SNAPSHOTbump/0.9.5-SNAPSHOTJason Zaugg2015-07-071-1/+1
|/ /
* | Merge pull request #116 from retronym/merge/2.10.x-to-master-20150707v0.9.4_2.11Jason Zaugg2015-07-070-0/+0
|\ \ | | | | | | noop merge of 2.10.x to master
| * | Merge remote-tracking branch 'origin/2.10.x' into ↵Jason Zaugg2015-07-070-0/+0
|/| | | |/ | | | | merge/2.10.x-to-master-20150707
| * Merge pull request #115 from retronym/backport/74v0.9.4_2.10Jason Zaugg2015-07-072-1/+46
| |\ | | | | | | Avoid compiler warning when awaiting Future[Unit]
| | * Avoid compiler warning when awaiting Future[Unit]Jason Zaugg2015-07-072-1/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the ANF transform, we were generating a tree of the shape: { val temp: Unit = await(futureOfUnit) temp () } I tried to simplifiy this to avoid creating the temporary value, but this proved difficult as it would have required changes to the subsequent state machine transformation. Even replacing `temp` with `()` made the state machine transform harder. So for now, I've just inserted `temp.asInstanceOf[Unit]` to hide from the compiler warning. Fixes #74 (cherry picked from commit f3f058991b207a07041672a7e119422d9054788d)
| * | Merge pull request #113 from retronym/backport/104Jason Zaugg2015-07-062-1/+27
| |\ \ | | | | | | | | [backport] Avoid masking real errors with NotImplemented awaiting Future[Nothing]
| | * | [backport] Avoid masking real errors with NotImplemented awaiting ↵Jason Zaugg2015-07-062-1/+27
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Future[Nothing] This commit disabled live variable analysis for intermediate values of type Nothing. Fixes #104 (cherry picked from commit 6353443a0adec384172c38efac3bc96b9d2cbad2)
* | | Merge pull request #114 from retronym/ticket/74Jason Zaugg2015-07-072-1/+46
|\ \ \ | | | | | | | | Avoid compiler warning when awaiting Future[Unit]
| * | | Avoid compiler warning when awaiting Future[Unit]Jason Zaugg2015-07-072-1/+46
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the ANF transform, we were generating a tree of the shape: { val temp: Unit = await(futureOfUnit) temp () } I tried to simplifiy this to avoid creating the temporary value, but this proved difficult as it would have required changes to the subsequent state machine transformation. Even replacing `temp` with `()` made the state machine transform harder. So for now, I've just inserted `temp.asInstanceOf[Unit]` to hide from the compiler warning. Fixes #74
* | | Merge pull request #112 from retronym/ticket/104Jason Zaugg2015-07-062-1/+27
|\ \ \ | | | | | | | | Avoid masking real errors with NotImplemented awaiting Future[Nothing]
| * | | Avoid masking real errors with NotImplemented awaiting Future[Nothing]Jason Zaugg2015-07-062-1/+27
|/ / / | | | | | | | | | | | | | | | This commit disabled live variable analysis for intermediate values of type Nothing. Fixes #104
* | | Merge pull request #110 from retronym/merge/2.10.x-to-master-20150706Jason Zaugg2015-07-060-0/+0
|\ \ \ | | | | | | | | (noop) Merge 2.10.x to master
| * | | Merge remote-tracking branch 'origin/2.10.x' into ↵Jason Zaugg2015-07-060-0/+0
|/| | | | |/ / | | | | | | merge/2.10.x-to-master-20150706
| * | Merge pull request #108 from retronym/ticket/106-2.10.xJason Zaugg2015-07-062-2/+16
| |\ \ | | | | | | | | Fix compiler crash with value class in result position
| | * | Fix compiler crash with value class in result positionJason Zaugg2015-07-062-2/+16
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | We were leaking untyped trees out of the macro, which crashed in refchecks. This commit proactively typechecks the tree returned by `mkZero`. (cherry picked from commit f4275e22e000541eb619808723b70bd64b9b4873)
| * / Update README.mdJason Zaugg2015-07-061-12/+2
| |/
| * Merge pull request #103 from retronym/topic/0.9.4-SNAPSHOTJason Zaugg2015-01-083-37/+3
| |\ | | | | | | Bump to 0.9.4-SNAPSHOT
| | * Bump to 0.9.4-SNAPSHOTJason Zaugg2015-01-083-37/+3
| |/
* | Merge pull request #109 from retronym/topic/bumpJason Zaugg2015-07-061-1/+1
|\ \ | | | | | | Bump to Scala 2.11.6
| * | Bump to Scala 2.11.6Jason Zaugg2015-07-061-1/+1
|/ /
* | Merge pull request #107 from retronym/ticket/106Jason Zaugg2015-07-062-2/+14
|\ \ | | | | | | Fix compiler crash with value class in result position
| * | Fix compiler crash with value class in result positionJason Zaugg2015-07-062-2/+14
| | | | | | | | | | | | | | | | | | | | | We were leaking untyped trees out of the macro, which crashed in refchecks. This commit proactively typechecks the tree returned by `mkZero`.
* | | Update README.mdJason Zaugg2015-07-061-12/+3
|/ /
* | Merge pull request #101 from retronym/merge/2.10.x-to-master-tag-driven-releasev0.9.3_2.11v0.9.3-RC1_2.11Jason Zaugg2014-12-1910-6/+143
|\ \ | | | | | | Merge 2.10.x to master to bring in tag driven publishing
| * | Merge remote-tracking branch 'origin/2.10.x' into ↵Jason Zaugg2014-12-1810-6/+143
|/| | | |/ | | | | | | | | | | merge/2.10.x-to-master-tag-driven-release Conflicts: .travis.yml
| * Merge pull request #100 from retronym/topic/tag-driven-releasev0.9.3_2.10v0.9.3-RC1_2.10Jason Zaugg2014-12-1810-7/+143
| |\ | | | | | | Support tag driven publishing
| | * Support tag driven publishingJason Zaugg2014-12-1810-7/+143
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I started with: https://github.com/scala/scala-swing/commit/a6a8e1d77e#diff-3acefdae08499733e855dd23e1af933dR8 And: - modified the regex that derives the version from the tag to handle the fact we have the scala binary version appended to our tags - Removed unnessary cross building with Scala 2.11 (as this is on the 2.10.x branch) - generated a key pair for the async repository - added passphrase for that key, and sonatype credentials, to sensitive.sbt - encrypted the secrets with the travis key.
* | Merge pull request #99 from retronym/merge/2.10.x-to-master-20141219Jason Zaugg2014-12-189-88/+166
|\ \ | | | | | | Merge/2.10.x to master 20141219
| * | Merge remote-tracking branch 'origin/2.10.x' into ↵Jason Zaugg2014-12-189-88/+166
|/| | | |/ | | | | | | | | | | | | | | merge/2.10.x-to-master-20141219 Conflicts: src/main/scala/scala/async/internal/AsyncTransform.scala src/main/scala/scala/async/internal/ExprBuilder.scala src/test/scala/scala/async/TreeInterrogation.scala
| * Merge pull request #98 from retronym/ticket/73Jason Zaugg2014-12-189-88/+166
| |\ | | | | | | Make `f(await(completedFuture))` execute `f` synchronously
| | * Make `f(await(completedFuture))` execute `f` synchronouslyJason Zaugg2014-12-164-35/+85
| | | | | | | | | | | | | | | | | | A worthy optimization, suggested by @danarmak. Closes #73
| | * Remove extraneous method in generated code.Jason Zaugg2014-12-151-7/+2
| | |
| | * Avoid unbounded stack consumption for synchronous control flowJason Zaugg2014-12-157-54/+87
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, as sequence of state transitions that did not pass through an asynchrous boundary incurred stack frames. The trivial loop in the enclosed test case would then overflow the stack. This commit merges the `resume` and `apply(tr: Try[Any])` methods into a `apply`. It changes the body of this method to be an infinite loop with returns at the terminal points in the state machine (or at a terminal failure.) To allow merging of these previously separate matches, states that contain an await are now allocated two state ids: one for the setup code that calls `onComplete`, and one for the code in the continuation that records the result and advances the state machine. Fixes #93
| * Merge pull request #91 from retronym/ticket/86-mkZeroJason Zaugg2014-09-304-7/+83
| |\ | | | | | | Avoid assigning null to vars of derived value type
* | \ Merge pull request #95 from gnovark/topic/absType-crashJason Zaugg2014-12-102-4/+20
|\ \ \ | | | | | | | | Fix regression around await of non-class type
| * | | Fix regression around await of non-class typeGene Novark2014-12-092-4/+20
|/ / / | | | | | | | | | E.g. type param, abstrat type.