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

Implement @use scheme #21740

Open
wants to merge 13 commits into
base: main
Choose a base branch
from
Open

Implement @use scheme #21740

wants to merge 13 commits into from

Commits on Sep 25, 2024

  1. Add path support for cc

    noti0na1 authored and odersky committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    74b6bf6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ddba608 View commit details
    Browse the repository at this point in the history
  3. Add alternative subsumes implementations

    This is done for comparing old with new
    odersky committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    440c053 View commit details
    Browse the repository at this point in the history
  4. Revert to previous subsumes scheme

    Add the path cases without changing the whole logic
    odersky committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    45df152 View commit details
    Browse the repository at this point in the history
  5. Add logic to mark paths as used

    If we refer to a path `a.b`, we should mark `a.b` as used,
    which is better than marking `a`.
    odersky committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    263d6eb View commit details
    Browse the repository at this point in the history
  6. Tweaks to path checking and massage tests

    Needed to make stdlib2-cc go through.
    
    There were two errors. One in LayListIterable required a type annotation
    and a tweak to markFree. The other in Vieew.scala required a cast, but this could be fixed
    with better handling of pattern matching. path-patmat-should-be-pos.scala is a minimization.
    odersky committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    152710b View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2024

  1. Configuration menu
    Copy the full SHA
    215b67a View commit details
    Browse the repository at this point in the history
  2. Recognize double annotated capabilities such as x*?

    x*? is x.type @reach @maybe. This was not recognized before.
    odersky committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    dc8b8a0 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2024

  1. Allow annotations after ^ and ^{xs}

    We extend the grammar to allow e.g. `Iterator[T]^ @use`.
    odersky committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    5215945 View commit details
    Browse the repository at this point in the history
  2. First version of @use checking

    odersky committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    1746091 View commit details
    Browse the repository at this point in the history
  3. Drop @unbox

    Convert remaining occurrences in tests to @use
    odersky committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    1391da7 View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2024

  1. Configuration menu
    Copy the full SHA
    549deb8 View commit details
    Browse the repository at this point in the history
  2. Change encoding of reach capabilities under @use

    The new encoding wraps such capabilities with @use instead of relying on a
    @ReachUnderUse annotation. Advantage: This can generalize to capture set variables
    under @use.
    odersky committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    7f63f84 View commit details
    Browse the repository at this point in the history