-
Notifications
You must be signed in to change notification settings - Fork 832
Open
Labels
Area-Compiler-CheckingType checking, attributes and all aspects of logic checkingType checking, attributes and all aspects of logic checkingBugImpact-Medium(Internal MS Team use only) Describes an issue with moderate impact on existing code.(Internal MS Team use only) Describes an issue with moderate impact on existing code.
Milestone
Description
Assembly A exposed it's internal to Assembly B via the InternalsVisibleTo
attribute. Assembly B provides a simple method to Assembly C, but because it's a simple method, it is inlined by the f# compiler into Assembly C. This results in Runtime error.
Expected behavior
The FSharp compiler shouldn't inline methods that have calls to methods that have been exposed via InternalsVisibleTo.
Actual behavior
Runtime error.
Known workarounds
As per #5178, the use of [<MethodImpl(MethodImplOptions.NoInlining)>]
stops the f# compiler from inling the method, but has the side effect that the JIT also stops inlining the call.
Related information
C:> fsc.exe
Microsoft (R) F# Compiler version 10.4.0 for F# 4.6
Copyright (c) Microsoft Corporation. All Rights Reserved.
Metadata
Metadata
Assignees
Labels
Area-Compiler-CheckingType checking, attributes and all aspects of logic checkingType checking, attributes and all aspects of logic checkingBugImpact-Medium(Internal MS Team use only) Describes an issue with moderate impact on existing code.(Internal MS Team use only) Describes an issue with moderate impact on existing code.
Type
Projects
Status
New