Advertisement
Guest User

Untitled

a guest
Jun 14th, 2015
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 0.31 KB | None | 0 0
  1. [<AbstractClass>]
  2. type A<'This when 'This :> A<'This>> (x) =
  3.    member a.X = x
  4.    abstract member SetX : float -> 'This
  5.  
  6. module A =
  7.  
  8.     let WithX x (a: 'T when 'T :> A<'T>) =
  9.        a.SetX x
  10.  
  11. type B (x, y) =
  12.    inherit A<B>(x)
  13.  
  14.    member b.Y = y
  15.    override b.SetX x =
  16.        B (x, b.Y)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement