Skip to content

Conversation

@retronym
Copy link
Member

No description provided.

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
@retronym retronym merged commit 1802797 into scala:master Nov 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant