adamc@60: structure M = struct adamc@60: signature S = sig adamc@60: type t adamc@60: end adamc@60: end adamc@60: adamc@60: structure N : M.S = struct adamc@60: type t = int adamc@60: end adamc@60: adamc@60: structure M' = struct adamc@60: type t = int adamc@60: val y = 42 adamc@60: adamc@60: signature S = sig adamc@60: val x : t adamc@60: end adamc@60: end adamc@60: adamc@60: structure N' : M'.S = struct adamc@60: val x = 0 adamc@60: end adamc@60: adamc@60: signature S = sig adamc@60: type t adamc@60: val y : t adamc@60: adamc@60: signature S = sig adamc@60: val x : t adamc@60: end adamc@60: end adamc@60: adamc@60: structure M'S : S = M' adamc@60: adamc@60: structure V : M'S.S = struct adamc@60: val x = M'S.y adamc@60: end adamc@60: adamc@60: structure M'S' = M'S adamc@60: adamc@60: structure V : M'S'.S = struct adamc@60: val x = M'S.y adamc@60: end