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

Add reflect defn.FunctionClass overloads #16849

Merged
merged 1 commit into from
Feb 16, 2023

Conversation

nicolasstucki
Copy link
Contributor

The old FunctionClass will need to be deprecated as we will remove ErasedFunctionN and ErasedContextFunctionN. We will replace this API with a simpler version that can return FunctionN or ContextFunctionN, the only two stable function classes we have in the compiler/TASTy.

Other new function classes will be encoded with the more general refined function type encoding, generalization of the PolyFunction encoding. This implies that we won't need to add other kind of function classes to the reflect API.

Part of the fix for #16847

@nicolasstucki nicolasstucki force-pushed the fix-16847-a branch 2 times, most recently from 230bc4a to ce8e6c7 Compare February 13, 2023 15:23
@nicolasstucki nicolasstucki changed the title Add reflect defn.{FunctionClass,ContextFunctionClass} Add reflect defn.FunctionClass Feb 13, 2023
@nicolasstucki nicolasstucki changed the title Add reflect defn.FunctionClass Add reflect defn.FunctionClass overloads Feb 13, 2023
@smarter smarter assigned nicolasstucki and unassigned smarter Feb 15, 2023
The old `FunctionClass` will need to be deprecated as we will remove
`ErasedFunctionN` and `ErasedContextFunctionN`. We will replace this API
with a simpler version that can return `FunctionN` or `ContextFunctionN`,
the only two stable function classes we have in the compiler/TASTy.

Other new function classes will be encoded with the more general refined
function type encoding, generalization of the `PolyFunction` encoding.
This implies that we won't need to add other kind of function classes to
the reflect API.

Part of the fix for scala#16847
@nicolasstucki nicolasstucki added this pull request to the merge queue Feb 16, 2023
@Kordyjan Kordyjan removed this pull request from the merge queue due to the queue being cleared Feb 16, 2023
@nicolasstucki nicolasstucki merged commit 2602b55 into scala:main Feb 16, 2023
@nicolasstucki nicolasstucki deleted the fix-16847-a branch February 16, 2023 09:33
@julienrf julienrf modified the milestones: 3.4.0, 3.3.2 Jul 10, 2023
@Kordyjan Kordyjan removed this from the 3.3.2 milestone Aug 2, 2023
@Kordyjan Kordyjan added this to the 3.3.1 milestone Aug 2, 2023
@Kordyjan Kordyjan modified the milestones: 3.3.1, 3.4.0 Aug 29, 2023
@Kordyjan Kordyjan mentioned this pull request Aug 29, 2023
14 tasks
Kordyjan added a commit that referenced this pull request Aug 29, 2023
Reverts #16849 on the LTS line.

Introducing new experimental overload with fewer arguments is breaking
source compatibility.

Fixes #18414
nicolasstucki added a commit that referenced this pull request Aug 30, 2023
Also, make two new constructors no longer experimental.

Followup to #16849
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