(* TEST
 flags = " -w -a ";
 setup-ocamlc.byte-build-env;
 ocamlc.byte;
 check-ocamlc.byte-output;
*)

type t = T : t
type s = T

class c = object (self : 'self)

  method foo : s -> 'self = function
    | T -> self#bar ()

  method bar : unit -> 'self = fun () -> self

end
