These are chat archives for Microsoft/visualfsharp

29th
Oct 2017
Patrick Loyd
@pnloyd
Oct 29 2017 08:39
Is something like this possible?
type IInterface<'T when 'T :> IInterface<'T>> =
  abstract member Property : ICollection<IInterface<'T>>

type Implementor() =
  interface IPositioned<Implementor> with
    member Property = List<Implementor>() :> ICollection<IPositioned<Drop>>
Ignore that code..
type IInterface<'T when 'T :> IInterface<'T>> =
  abstract member Property : ICollection<IInterface<'T>>

type Implementor() =
  interface IInterface<Implementor> with
    member Property = List<Implementor>() :> ICollection<IInterface<Drop>>
Patrick Loyd
@pnloyd
Oct 29 2017 08:46
I figured out my own question.