"Go To Definition" on a reference to a type that is part of a mutually recursive definition sometimes goes to a reference to the type that is part of the same mutually recursive definition instead of to the definition of the requested type.
Repro steps
- Create an F# library with the following code:
namespace MutuallyRecursiveTypesTest
type A = A of B
and B = int
type C = B
- Right-click the
B on the last line and "Go To Definition".
Expected behavior
The selection goes to the B of and B = int.
Actual behavior
The selection goes to the B of type A = A of B.
Known workarounds
Once you're in the mutually recursive definition, find the desired type definition manually.
Related information
Nightly Visual F# Tools 15.4.1.17070401
Microsoft Visual Studio Enterprise 2017
Version 15.2 (26430.14) Release
VisualStudio.15.Release/15.2.0+26430.14
Microsoft .NET Framework
Version 4.7.02046
"Go To Definition" on a reference to a type that is part of a mutually recursive definition sometimes goes to a reference to the type that is part of the same mutually recursive definition instead of to the definition of the requested type.
Repro steps
Bon the last line and "Go To Definition".Expected behavior
The selection goes to the
Bofand B = int.Actual behavior
The selection goes to the
Boftype A = A of B.Known workarounds
Once you're in the mutually recursive definition, find the desired type definition manually.
Related information
Nightly Visual F# Tools 15.4.1.17070401