-
Notifications
You must be signed in to change notification settings - Fork 793
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
FSharpMemberOrFunctionOrValue doesn't include attributes for params in CurriedParameterGroups #13786
Labels
Area-FCS
Feature Improvement
Impact-Medium
(Internal MS Team use only) Describes an issue with moderate impact on existing code.
Milestone
Comments
This was referenced Aug 26, 2022
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Aug 29, 2022
Temporary fix, remove when upstream dotnet#13786 is fixed.
dsyme
added
Area-FCS
and removed
Area-Compiler-Syntax
lexfilter, indentation and parsing
labels
Sep 23, 2022
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Sep 25, 2022
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Sep 26, 2022
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Sep 26, 2022
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Nov 14, 2022
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Nov 14, 2022
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Nov 30, 2022
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Nov 30, 2022
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Jan 28, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
added a commit
to ncave/fsharp
that referenced
this issue
Jan 31, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Feb 24, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
added a commit
to ncave/fsharp
that referenced
this issue
Feb 24, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
added a commit
to ncave/fsharp
that referenced
this issue
Feb 24, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Apr 15, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
added a commit
to ncave/fsharp
that referenced
this issue
Apr 15, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Oct 15, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
added a commit
to ncave/fsharp
that referenced
this issue
Oct 17, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
added a commit
to ncave/fsharp
that referenced
this issue
Oct 19, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Oct 19, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
added a commit
to ncave/fsharp
that referenced
this issue
Oct 19, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
added a commit
to ncave/fsharp
that referenced
this issue
Oct 19, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
added a commit
to ncave/fsharp
that referenced
this issue
Oct 23, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Oct 23, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Dec 8, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
added a commit
to ncave/fsharp
that referenced
this issue
Dec 8, 2023
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Nov 16, 2024
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
added a commit
to ncave/fsharp
that referenced
this issue
Nov 22, 2024
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
pushed a commit
to ncave/fsharp
that referenced
this issue
Jan 15, 2025
Temporary fix, remove when upstream dotnet#13786 is fixed.
ncave
added a commit
to ncave/fsharp
that referenced
this issue
Jan 15, 2025
Temporary fix, remove when upstream dotnet#13786 is fixed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Area-FCS
Feature Improvement
Impact-Medium
(Internal MS Team use only) Describes an issue with moderate impact on existing code.
This seems to be a known issue because there are several comments in
FSharpMemberOrFunctionOrValue
like this one:fsharp/src/Compiler/Symbols/Symbols.fs
Lines 2047 to 2062 in 236db98
Not sure if this something that is not possible/easy to implement or it's been a TODO that has remained in the code base. Interestingly when members are internally represented as function values (
.Data = V ...
) the attributes for params can be accessed:fsharp/src/Compiler/Symbols/Symbols.fs
Lines 2064 to 2080 in 236db98
This seems to be the reason this issue hasn't surfaced in Fable until now. In Fable we sometimes use param attributes to give info about how a parameter should be compiled in the call-site. Until Fable 3 this information was directly taken from the member reference in
FSharpExprPatterns.Call
. It seems in this case the member is always represented as function value and the param attributes are kept. However, in Fable 4 we are using a different model where entity and member info are kept separated from the AST to make serialization easier. Because of this, the parameter info is accessed now throughFSharpEntity.MembersFunctionsAndValues
and apparently this causes members to be represented as methods (.Data = M ...
) and the param attributes to be lost when callingCurriedParameterGroups
.@dsyme Would it be possible to fix this in FCS or is it a limitation we need to overcome somehow?
The text was updated successfully, but these errors were encountered: