Repro steps
The following code can easily reproduce the error:
type TestClass() as SomeSelfIdentifier =
member inline AnotherSelfIdentifier.test() = 5
It also happens when the self-identifier is the same:
type TestClass() as self =
member inline self.test() = 5
And even when using '_' for the member-scope self-identifier:
type TestClass() as self =
member inline _.test() = 5
Expected behavior
Successful build
Actual behavior
The build fails with the following error: "Error FS1113 : The value 'test' was marked inline but its implementation makes use of an internal or private function which is not sufficiently accessible"
Known workarounds
Either make the inline function external and receive the instance as an argument or rework every 'let' that needs the class-scope self-identifier to be a member that uses a function-scoped self-identifier instead.
Related information
I needed an inline function for a member constraint in my real use case. It worked perfectly until I added the self-identifier for use in some other function.
- Operating system
Windows 10
- .NET Runtime kind (.NET Core, .NET Framework, Mono)
.NET 8.0
- Editing Tools (e.g. Visual Studio Version, Visual Studio)
Rider
Repro steps
The following code can easily reproduce the error:
It also happens when the self-identifier is the same:
And even when using '_' for the member-scope self-identifier:
Expected behavior
Successful build
Actual behavior
The build fails with the following error: "Error FS1113 : The value 'test' was marked inline but its implementation makes use of an internal or private function which is not sufficiently accessible"
Known workarounds
Either make the inline function external and receive the instance as an argument or rework every 'let' that needs the class-scope self-identifier to be a member that uses a function-scoped self-identifier instead.
Related information
I needed an inline function for a member constraint in my real use case. It worked perfectly until I added the self-identifier for use in some other function.
Windows 10
.NET 8.0
Rider