diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2016-01-20 10:30:15 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2017-10-16 07:44:56 -0500 |
commit | 505ce2292b3d58ed38f7670e05934b63df2c0450 (patch) | |
tree | 82754872c986aaaff213beacc979b1e18112b03f /src/test/scala/scala/async/run/ifelse3 | |
parent | ad1905a99ddd6073afa5787e16a58e661ed8ee0b (diff) | |
download | scala-async-505ce2292b3d58ed38f7670e05934b63df2c0450.tar.gz scala-async-505ce2292b3d58ed38f7670e05934b63df2c0450.tar.bz2 scala-async-505ce2292b3d58ed38f7670e05934b63df2c0450.zip |
Workaround ill-scoped exist. skolem refs emited by patmat
e.g `val x2 = Foo[$1] with Bar = boundValue`
is rewritten to `val x2 = (Foo[$1] @uncheckedBounds) with Bar = boundValue`
This is to have refchecks turn a blind eye to the type argument that
doesn't conform the to type parameter bounds.
For regular compilation, without the async transform between patmat
and refchecks, bound conformance is disabled with:
https://github.com/scala/scala/blob/v2.11.7/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala#L1743
Using the `uncheckedBounds` annotation is a newer, more inclusive way
of acheiving the same thing:
https://github.com/scala/scala/blob/v2.11.7/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala#L1677
Diffstat (limited to 'src/test/scala/scala/async/run/ifelse3')
0 files changed, 0 insertions, 0 deletions