Using F12 to go to the definition of discriminated unions does not work properly when the type is combined with and, it goes to one of the places where it is used in a declaration of a different DU.
This fails in VS2017 RTM and VS2017 latest Preview + Nightlies of F#. Verified to have worked correctly in VS2015.
Video:

A minimal example is as follows:
module TestF12 =
type Foo = MyFoo | YourFoo
and Bar = MyBar | YourBar
and FooBar =
| Foo of Foo // same behavior if it's OtherName of Foo
| Bar of Bar
let x = Foo MyFoo
let y = Bar YourBar
let tryFoo x: Foo option = if x = 1 then Some MyFoo else None
Prerequisites:
andCaseName of SomeDU) and DU typename do not need to be the sameF12, or the context menu, should go to the definition of the type, not one of its usages, even though the usage itself is declarative.
It goes to the first usage in a different DU if the type-definition is combined with and. If there are multiple usages, it seems to jump to the first usage. If there are no usages, it jumps to the actual definition.
Note that the QuickInfo tooltip shows the correct info from the definition, it's only F12 / go to definition that fails here.
Do not use and, however, that prohibits some use-cases.
Seen in:
Not seen in:
This makes this a regression bug, I believe.
This is fixed in https://github.com/Microsoft/visualfsharp/pull/5050

Cool! Tx! Love it! :)
Closing this out as fixed in 15.8

Most helpful comment
This is fixed in https://github.com/Microsoft/visualfsharp/pull/5050