X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/4cf8c95d95cfa21eb40331ea4c606783f247b196..3c14efee3370a063cfd5b625e817aaadc394c443:/packages/sml-mode/testcases.sml diff --git a/packages/sml-mode/testcases.sml b/packages/sml-mode/testcases.sml index adab3e289..14b73d305 100644 --- a/packages/sml-mode/testcases.sml +++ b/packages/sml-mode/testcases.sml @@ -1,4 +1,4 @@ -(* Copyright 1999,2004,2007,2010-2012 Stefan Monnier *) +(* Copyright 1999,2004,2007,2010-2012,2014 Stefan Monnier *) (* sml-mode here treats the second `=' as an equal op because it * thinks it's seeing something like "... type t = (s.t = ...)". FIXME! *) @@ -55,6 +55,35 @@ val bar = c ;4) +structure Attrs : sig + type t + datatype node + = Attributes of string list + include WRAPPED + sharing type node' = node + sharing type obj = t + end + +functor DoWrap1(type node) : S = struct +type t = node Wrap.t +open Wrap +type node' = node +type obj = t +end + +functor DoWrap(type node) : sig + type t = node Wrap.t + include WRAPPED + sharing type node' = node + sharing type obj = t + end = +struct +type t = node Wrap.t +open Wrap +type node' = node +type obj = t +end + val ber = 1; val sdfg = 1 val tut = fn (x,y) z y e r => @@ -113,6 +142,7 @@ val x = datatype foobar = FooB of int | FooA of bool * int +and baz = QUX of foo datatype foo = FOO | BAR of baz and baz = BAZ | QUUX of foo