Skip to content

Assume some capture sets in user-defined types #12892

New issue

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

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

Already on GitHub? # to your account

Closed
wants to merge 90 commits into from

Conversation

odersky
Copy link
Contributor

@odersky odersky commented Jun 21, 2021

See #12871 for background

Based on #12875

odersky added 30 commits June 17, 2021 15:56
Use the same direction when re-typing during refinement
We are throwing away the refined trees, so we should keep the old type variables
unchanged.
Outer references cannot be re-typed with the usual typedSelect algorithm. Their types
have to be preserved. Test case is pos/i8892.scala.
Prefer old instance over extremal bound Nothing or Any when refining
 - that way we avoid an overly long valOrDefDefSig
 - the method can be reused in RefineTypes
Add refiner tests that exercise the setting
and drop unused hook method
odersky added 20 commits June 17, 2021 16:43
This reverts commit e96f653.
Since we are now our own branch on origin, there's no need to deviate
in targeting a minor version. We are targeting no specific version
at the present time, so there's no need to deviate from the standard
build
Drop the restriction that the type parameters must be following at least
one value parameter clause.
Drop implementation restriction for polymorphic functions
The previous condition did not work for qualifiers with the
```
PolyFunction { ... } retains ...
```
A substitution was missing for type parameters that appear in the capture set
of the constructor.
Strip off capturing types before decomposing a function prototype
@odersky odersky marked this pull request as draft June 21, 2021 16:30
@odersky odersky added the cc-experiment Intended to be merged with cc-experiment branch on origin label Jun 21, 2021
odersky added 3 commits June 28, 2021 14:47
If a variable in a capture set gets instantiated, the capture set
has to update itself as well.
@odersky
Copy link
Contributor Author

odersky commented Aug 17, 2021

Based on old ReTyper. All interesting commits are in branch cc-experiment-retyper

@odersky odersky closed this Aug 17, 2021
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
cc-experiment Intended to be merged with cc-experiment branch on origin
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant