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

Port Scala.js j.u.Objects parameter widening & later changes. #1953

Merged

Conversation

LeeTibbert
Copy link
Contributor

  • This PR was motivated by my attempts to use an automated
    script to port Scala.js j.u.Map. Scala.js appears to
    pay considerable attention to using Objects.equals().
    Before this PR, The Scala Native compiler would fail
    because it was looking to apply implicit conversions
    and found two, in Predef.

    After this PR, the freshly ported j.u.Map code compiles
    and executes its extensive test code without introducing
    failures elsewhere in the ensemble.

    This PR should ease future porting either way.

  • This PR is pretty much an automated, but curated, port of the
    Scala.js code. As per past guidance, the Scals.js license is
    stripped. A Scala Native header is prepended, with information
    allowing future developers to synchronize this port with
    Scala.js original. The new header multi-line comment style follows
    the Scala.js original.

    The new ObjectsTests.scala contains some scalafmt differences from
    the Scala.js original. Once content has been substantially aligned
    between the two projects, perhaps there is an opportunity to reduce
    porting & review loads by aligning the automated formatting tools and/or
    rules.

  • Previously, there was no j.u.Objects{Test | Suite}.
    ObjectsTests.scala was ported via script.

Documentation:

  • The standard changelog entry is requested.

Testing:

Safety -

  • Built and tested ("test-all") in debug mode using sbt 1.3.13 on
    X86_64 only. All tests pass.

Efficacy -

  • An automated port of a private j.u.Map.scala now compiles & passes
    unit-tests without having to manually edit the file for Objects.equals().

  * This PR was motivated by my attempts to use an automated
    script to port Scala.js j.u.Map. Scala.js appears to
    pay considerable attention to using Objects.equals().
    Before this PR, The Scala Native compiler would fail
    because it was looking to apply implicit conversions
    and found two, in Predef.

    After this PR, the freshly ported j.u.Map code compiles
    and executes its extensive test code without introducing
    failures elsewhere in the ensemble.

    This PR should ease future porting either way.

  * This PR is pretty much an automated, but curated, port of the
    Scala.js code. As per past guidance, the Scals.js license is
    stripped. A Scala Native header is prepended, with information
    allowing future developers to synchronize this port with
    Scala.js original. The new header multi-line comment style follows
    the Scala.js original.

    The new ObjectsTests.scala contains some scalafmt differences from
    the Scala.js original. Once content has been substantially aligned
    between the two projects, perhaps there is an opportunity to reduce
    porting & review loads by aligning the automated formatting tools and/or
    rules.

  * Previously, there was no j.u.Objects{Test | Suite}.
    ObjectsTests.scala was ported via script.

Documentation:

  * The standard changelog entry is requested.

Testing:

  Safety -

    + Built and tested ("test-all") in debug mode using sbt 1.3.13 on
      X86_64 only. All tests pass.

  Efficacy -

    + An automated port of a private j.u.Map.scala now compiles & passes
      unit-tests without having to manually edit the file for Objects.equals().
@sjrd sjrd merged commit f9eabc1 into scala-native:master Oct 18, 2020
1 check passed
vicopem pushed a commit to vicopem/scala-native that referenced this pull request Nov 19, 2020
…native#1953)

* This PR was motivated by my attempts to use an automated
    script to port Scala.js j.u.Map. Scala.js appears to
    pay considerable attention to using Objects.equals().
    Before this PR, The Scala Native compiler would fail
    because it was looking to apply implicit conversions
    and found two, in Predef.

    After this PR, the freshly ported j.u.Map code compiles
    and executes its extensive test code without introducing
    failures elsewhere in the ensemble.

    This PR should ease future porting either way.

  * This PR is pretty much an automated, but curated, port of the
    Scala.js code.
vicopem added a commit to vicopem/scala-native that referenced this pull request Nov 19, 2020
vicopem added a commit to vicopem/scala-native that referenced this pull request Nov 19, 2020
ekrich pushed a commit to ekrich/scala-native that referenced this pull request May 21, 2021
…native#1953)

* This PR was motivated by my attempts to use an automated
    script to port Scala.js j.u.Map. Scala.js appears to
    pay considerable attention to using Objects.equals().
    Before this PR, The Scala Native compiler would fail
    because it was looking to apply implicit conversions
    and found two, in Predef.

    After this PR, the freshly ported j.u.Map code compiles
    and executes its extensive test code without introducing
    failures elsewhere in the ensemble.

    This PR should ease future porting either way.

  * This PR is pretty much an automated, but curated, port of the
    Scala.js code.
WojciechMazur pushed a commit to WojciechMazur/scala-native that referenced this pull request Aug 25, 2021
…native#1953)

* This PR was motivated by my attempts to use an automated
    script to port Scala.js j.u.Map. Scala.js appears to
    pay considerable attention to using Objects.equals().
    Before this PR, The Scala Native compiler would fail
    because it was looking to apply implicit conversions
    and found two, in Predef.

    After this PR, the freshly ported j.u.Map code compiles
    and executes its extensive test code without introducing
    failures elsewhere in the ensemble.

    This PR should ease future porting either way.

  * This PR is pretty much an automated, but curated, port of the
    Scala.js code.
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.

None yet

2 participants