Skip to content

Fix mixed emit-multi+/- sessions #18465

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

Merged
merged 3 commits into from
May 5, 2025
Merged

Conversation

KevinRansom
Copy link
Member

@KevinRansom KevinRansom commented Apr 9, 2025

Fixes: #18441

The issue is caused because multi-emit+ and multi-emit- use the same name for the assembly: multi-emit- uses a dynamic assembly named FSIASSEMBLY and multi-emit+ uses multiple memory assemblies named FSIASSEMBLY with a new version for each submission.

When a type can't be found the magic resolver does a simple name search on assemblies looking for the missing type and finds the dynamic assembly.

The fix is to use a different assembly name for multi and single.

Copy link
Contributor

github-actions bot commented Apr 9, 2025

❗ Release notes required


✅ Found changes and release notes in following paths:

Change path Release notes path Description
src/Compiler docs/release-notes/.FSharp.Compiler.Service/9.0.300.md

@T-Gro
Copy link
Member

T-Gro commented Apr 11, 2025

/run fantomas

Copy link
Contributor

Failed to run fantomas: https://github.com/dotnet/fsharp/actions/runs/14401636365

@T-Gro
Copy link
Member

T-Gro commented Apr 25, 2025

/run fantomas

@KevinRansom KevinRansom force-pushed the emitmulti branch 2 times, most recently from 8a756ec to 521d8c4 Compare May 3, 2025 01:52
@github-project-automation github-project-automation bot moved this from New to In Progress in F# Compiler and Tooling May 5, 2025
@KevinRansom KevinRansom merged commit abffd37 into dotnet:main May 5, 2025
33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

FSI multi-emit unstable
3 participants