dotnet / dotnet/fsharp

Tooling support for binary breaking changes in components

Open
#12,328 6 comments 1 reaction 0 assignees View on GitHub
Area-Compiler-Options Feature Request
Dominant language
F#
Stars
4.3k
Forks
876
Avg merge
4d 11h
Merged PRs (30d)
131

Description

Maybe related #9370, also see https://github.com/dotnet/fsharp/issues/6528#issuecomment-750826419

It seems that from time to time this strange error about `ValLinkagePartialKey` is reported by the F# compiler. Most recent is this case: https://github.com/fable-compiler/fable-promise/issues/26

@mangelmaxime has isolated the probable cause: From Fable.Promise 3.1.0 to 3.1.1 the signature of public methods hasn't changed, but the name of the arguments of a couple of functions did, which seems to cause the issue (apparently something similar happened with Thoth.Json). Also, the problem only seems to surface if you upgrade to Fable.Promise 3.1.1 but your project also includes dependencies that depend on their own on Fable.Promise 3.1.0.

Can it be the actual case? And if so, is that intended? (I would expect that changing the name of an argument but not the signature wouldn't cause a breaking change.) In the case the error is unavoidable at a minimum the error message should be a bit more informative so library authors are more careful when renaming arguments.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.