| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
Noop merge of 2.10.x to master.
|
| |\
| | |
| | |
| | | |
merge/2.10.x-to-master-20150730
|
| | |
| | |
| | |
| | |
| | |
| | | |
And remove unused code.
(cherry picked from commit 7238bc1982cb1d87157c650115a2ae92a58430c9)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This avoids leaving .class files in the working directory
after running the test.
(cherry picked from commit 5bb93b0b7357259eb588437a45063bf43595028a)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
By declararing the parameter of `async` as by-name.
Fixes #150 (the bug in the original ticket.)
(cherry picked from commit 4b1dbeef9ec73612867afc5dd9c925faa8cbc30d)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If we blindly splicing `{..$stats, ..$generatedCode}`, and the last
expression in `$stats` is of type `Nothing`, we'll incur a dead
code warning when typechecking the block.
This commit:
- introduces a helper method to augment user-written stats with
synthetic code
- Emit a try/finally in that code (so we advance the state, even if we
are about to exit the state machine in the async-block global
exception handler
- Hide `Nothing` typed expressions from the dead code analysis
by wrapping them in an `expr: Any`
Fixes #150 (the part reported in the comments, not the original ticket.)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't bother adding `{ ...; () }` if we can use the original tree(s) instead,
e.g. if the last tree in `...` conforms to `Unit`.
This makes the debug output of the macro a little easier to read.
(cherry picked from commit de641dc265f34b06e17dfa7c64be00219f72b670)
|
| | |\
| | | |
| | | | |
Update SBT for the warn command, now assumed by sbt-extras
|
| | | |
| | | |
| | | |
| | | | |
(cherry picked from commit f6a5c93acb7628c4d169b778e386332c6d1bd99b)
|
|\ \ \ \
| | | | |
| | | | | |
Avoid dead code warnings for users of async.
|
| | | | |
| | | | |
| | | | |
| | | | | |
And remove unused code.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This avoids leaving .class files in the working directory
after running the test.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
By declararing the parameter of `async` as by-name.
Fixes #150 (the bug in the original ticket.)
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If we blindly splicing `{..$stats, ..$generatedCode}`, and the last
expression in `$stats` is of type `Nothing`, we'll incur a dead
code warning when typechecking the block.
This commit:
- introduces a helper method to augment user-written stats with
synthetic code
- Emit a try/finally in that code (so we advance the state, even if we
are about to exit the state machine in the async-block global
exception handler
- Hide `Nothing` typed expressions from the dead code analysis
by wrapping them in an `expr: Any`
Fixes #150 (the part reported in the comments, not the original ticket.)
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Don't bother adding `{ ...; () }` if we can use the original tree(s) instead,
e.g. if the last tree in `...` conforms to `Unit`.
This makes the debug output of the macro a little easier to read.
|
|\ \ \ \
| |/ / /
|/| | | |
Bump to 0.9.6-SNAPSHOT
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Avoid masking user exception with ??? for Nothing typed expressions
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \
| | | | |
| | | | | |
Avoid leaking untyped trees out of macro
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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 2.10.x to master
|
|/| | | |
| | |/ /
| |/| |
| | | | |
merge/2.10.x-to-master-20150727
|
| |\ \ \
| | |_|/
| |/| | |
Opt in to container based TravisCI
|
| |/ / |
|
| |\ \
| | | |
| | | | |
Bump version to v0.9.5-SNAPSHOT
|
| |/ / |
|
|\ \ \
| | |/
| |/| |
Update SBT to support the command, which is assumed by sbt-extras
|
|/ / |
|
|\ \
| | |
| | | |
Bump to 0.9.5-SNAPSHOT
|
|/ / |
|
|\ \
| | |
| | | |
noop merge of 2.10.x to master
|
|/| |
| |/
| |
| | |
merge/2.10.x-to-master-20150707
|
| |\
| | |
| | | |
Avoid compiler warning when awaiting Future[Unit]
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)
|
| |\ \
| | | |
| | | | |
[backport] Avoid masking real errors with NotImplemented awaiting Future[Nothing]
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Future[Nothing]
This commit disabled live variable analysis for intermediate values of type Nothing.
Fixes #104
(cherry picked from commit 6353443a0adec384172c38efac3bc96b9d2cbad2)
|
|\ \ \
| | | |
| | | | |
Avoid compiler warning when awaiting Future[Unit]
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| | | |
| | | | |
Avoid masking real errors with NotImplemented awaiting Future[Nothing]
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
This commit disabled live variable analysis for intermediate values of type Nothing.
Fixes #104
|
|\ \ \
| | | |
| | | | |
(noop) Merge 2.10.x to master
|
|/| | |
| |/ /
| | |
| | | |
merge/2.10.x-to-master-20150706
|
| |\ \
| | | |
| | | | |
Fix compiler crash with value class in result position
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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)
|
| |/ |
|
| |\
| | |
| | | |
Bump to 0.9.4-SNAPSHOT
|
| |/ |
|
|\ \
| | |
| | | |
Bump to Scala 2.11.6
|