SN
Size: a a a
SN
SN
IC
VS
SN
VS
when T: ISomethingAH
AH
type Foo() = class end
type Bar() = inherit Foo()
type Baz<'a>() = class end
type C() =
static member M(baz: Baz<Foo>) = ()
static member N(baz: Baz<#Foo>) = ()
let bar = Baz<Bar>()
C.N bar // ok
C.M bar // error
Н
type Foo() = class end
type Bar() = inherit Foo()
type Baz<'a>() = class end
type C() =
static member M(baz: Baz<Foo>) = ()
static member N(baz: Baz<#Foo>) = ()
let bar = Baz<Bar>()
C.N bar // ok
C.M bar // error
AH
where T: SomethingAH
let mutable bar: Baz<#Foo> = Baz<Bar>()
bar <- Baz<Bar>()
AH
AH
AH
AH
let mutable bar: Baz<#Foo> = Baz<Bar>()
bar <- Baz<Bar>()
bar <- Baz<Foo>() :> Baz<#Foo>
AH
AH
let mutable bar = Baz<#Foo>()
bar <- Baz<Bar>()
bar <- Baz<#Foo>()
AH
AH
AH