8000 Reinstate MiMa and address problems by retronym · Pull Request #5532 · scala/scala · GitHub
[go: up one dir, main page]

Skip to content

Reinstate MiMa and address problems #5532

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

Merged
merged 3 commits into from
Nov 17, 2016
Merged

Conversation

retronym
Copy link
Member

No description provided.

  - Revert a typo fix to a non-private method
  - Whitelist changes to internals of runtime reflection that
    are not part of the API and should only be referenced from
    within scala-reflect.jar itself.
This reverts commit 656162b.

Adding new APIs is not possible until a major release.
MiMa has been off-duty because of a bug in handling the default
value of the new paramter `--direction`.

This commit explicitly provides this parameter to get things
working again post haste.

Fixes scala/scala-dev#264
@scala-jenkins scala-jenkins added this to the 2.12.2 milestone Nov 16, 2016
@retronym
Copy link
Member Author

The ant and sbt builds on the 2.11.x branch use a version of MiMa that predates the regression.

@szeiger
Copy link
Contributor
szeiger commented Nov 16, 2016

D'Oh!

@retronym
Copy link
Member Author

/synch

@adriaanm
Copy link
Contributor

Could you expand on why the scala.reflect.runtime changes are safe? Is there no way these methods could be called from user code? I guess we could classify this under the experimental API exemption, but would still be good to rubber duck debug this and see if there's a worse worst case scenario.

@adriaanm
Copy link
Contributor

(I'm on phone, didn't look at their scala source visibility)

@retronym
Copy link
Member Author
retronym commented Nov 17, 2016

@adriaanm The only public API in scala.reflect.runtime is .{universe,currentMirror} defined in the package object.

The rest should really be in .runtime.internal so we could exclude the entire package as implementation, like we do for reflect.internal._.

The particular methods excluded here are nested within private[scala] JavaMirrors.

@adriaanm adriaanm merged commit 6b44da1 into scala:2.12.x Nov 17, 2016
@adriaanm adriaanm modified the milestones: 2.12.1, 2.12.2 Nov 17, 2016
szeiger added a commit to szeiger/scala that referenced this pull request Nov 21, 2016
The changes were made in scala#5481,
subsequently breaking binary compatibility checks after
scala#5532 was merged, too. The affected
methods are part of an internal implementation class. Whitelisting
should be safe.
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.

4 participants
0