Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Type projections #91

Open
xeno-by opened this issue Jul 7, 2018 · 2 comments
Open

Type projections #91

xeno-by opened this issue Jul 7, 2018 · 2 comments
Labels

Comments

@xeno-by
Copy link
Contributor

xeno-by commented Jul 7, 2018

class C {
  class X
}

object M {
  def m: C#X = ???
}
Test.scala:6: error: illegal outline
  def m: C#X = ???
         ^
class C[T, U] {
  type X = Map[T, U]
}

object M {
  def m: C[Int, Int]#X = ???
}
failed rsc: C.scala:6: error: illegal outline
  def m: C[Int, Int]#X = ???
         ^
@xeno-by xeno-by added this to the M4 milestone Jul 7, 2018
@xeno-by
Copy link
Contributor Author

xeno-by commented Jul 7, 2018

Surprisingly, this wasn't necessary for util-core, but we'll need to take care of this to be able to tackle bigger projects.

@xeno-by xeno-by removed this from the M4 milestone Jul 29, 2018
@xeno-by xeno-by self-assigned this Sep 26, 2018
@xeno-by xeno-by added this to the M4 milestone Sep 26, 2018
@xeno-by xeno-by removed this from the M4 milestone Oct 8, 2018
@xeno-by xeno-by removed their assignment Oct 9, 2018
@xeno-by xeno-by self-assigned this Nov 9, 2018
@xeno-by xeno-by added this to the M6 milestone Nov 9, 2018
@xeno-by xeno-by removed their assignment Nov 22, 2018
@xeno-by xeno-by removed this from the M6 milestone Nov 22, 2018
@xeno-by
Copy link
Contributor Author

xeno-by commented Nov 22, 2018

Type projections are curiously rare in our case study project. So far, I've only encountered two usages of type projections, and I simply dealiased them manually, pushing the work on this ticket to some undefined point in the future.

xeno-by added a commit to xeno-by/rsc that referenced this issue Nov 27, 2018
xeno-by added a commit to xeno-by/rsc that referenced this issue Nov 27, 2018
finaglehelper pushed a commit to twitter/finagle that referenced this issue Jan 25, 2019
Problem

Some Scala code in Finagle and friends is incompatible with Rsc.
While the majority of these incompatibilities can be fixed automatically
with the RscCompat rewrite (these fixes will be submitted in a separate
pull request), there are a few problems that stem from missing
functionality or bugs in Rsc.

Recently, I fixed a significant number of tickets in Rsc, but there
is some stuff left for full compatibility with Finagle and friends.
Unfortunately, all that stuff is pretty challenging, which suggests
that it may be more practical to work around.

Solution

I've manually worked around the following tickets on the Rsc
issue tracker:
  * twitter/rsc#91
  * twitter/rsc#100
  * twitter/rsc#224
  * twitter/rsc#263
  * twitter/rsc#268
  * twitter/rsc#273
  * twitter/rsc#294
  * twitter/rsc#331

Result

All Scala code in Finagle and friends will be compatible with Rsc,
at least to the degree required for our current internal Rsc test
suite to pass.

Differential Revision: https://phabricator.twitter.biz/D264602
finaglehelper pushed a commit to twitter/finatra that referenced this issue Jan 25, 2019
Problem

Some Scala code in Finagle and friends is incompatible with Rsc.
While the majority of these incompatibilities can be fixed automatically
with the RscCompat rewrite (these fixes will be submitted in a separate
pull request), there are a few problems that stem from missing
functionality or bugs in Rsc.

Recently, I fixed a significant number of tickets in Rsc, but there
is some stuff left for full compatibility with Finagle and friends.
Unfortunately, all that stuff is pretty challenging, which suggests
that it may be more practical to work around.

Solution

I've manually worked around the following tickets on the Rsc
issue tracker:
  * twitter/rsc#91
  * twitter/rsc#100
  * twitter/rsc#224
  * twitter/rsc#263
  * twitter/rsc#268
  * twitter/rsc#273
  * twitter/rsc#294
  * twitter/rsc#331

Result

All Scala code in Finagle and friends will be compatible with Rsc,
at least to the degree required for our current internal Rsc test
suite to pass.

Differential Revision: https://phabricator.twitter.biz/D264602
@xeno-by xeno-by mentioned this issue Feb 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

1 participant