87 lines
1.6 KiB
OCaml
87 lines
1.6 KiB
OCaml
(* TEST
|
|
|
|
flags = "-w A"
|
|
|
|
* bytecode
|
|
|
|
*)
|
|
|
|
(* Values *)
|
|
|
|
module X : sig
|
|
val x : int [@@deprecated "DEPRECATED"]
|
|
end = struct
|
|
let x = 7
|
|
end
|
|
|
|
module Y : sig val x : int end = X
|
|
|
|
module Z : sig val x : int [@@deprecated "..."] end = X
|
|
|
|
module F(A : sig val x : int end) = struct let _ = A.x end
|
|
|
|
module B = F(X)
|
|
|
|
|
|
|
|
module XX = struct let x = 7 end
|
|
module YY : sig val x : int [@@deprecated "..."] end = XX
|
|
|
|
|
|
(* Constructors *)
|
|
|
|
module CSTR : sig type t = A | B end = struct type t = A [@deprecated] | B end
|
|
|
|
module CSTR1 = struct
|
|
type t = A [@deprecated] | B
|
|
type s = t = A | B
|
|
end
|
|
|
|
|
|
(* Fields *)
|
|
|
|
module FIELD :
|
|
sig type t = {mutable x: int} end =
|
|
struct type t = {mutable x: int [@deprecated_mutable]} end
|
|
|
|
module FIELD1 = struct
|
|
type t = {mutable x: int [@deprecated_mutable]}
|
|
type s = t = {mutable x: int}
|
|
end
|
|
|
|
(* Types *)
|
|
|
|
module TYPE : sig type t = int end = struct type t = int [@@deprecated] end
|
|
|
|
(* Class, class types *)
|
|
|
|
module CL :
|
|
sig class c : object end end =
|
|
struct class c = object end [@@deprecated "FOO"] end
|
|
|
|
module CLT :
|
|
sig class type c = object end end =
|
|
struct class type c = object end [@@deprecated "FOO"] end
|
|
|
|
|
|
(* Module types *)
|
|
|
|
module MT :
|
|
sig module type S = sig end end =
|
|
struct module type S = sig end [@@deprecated "FOO"] end
|
|
|
|
module MT_OK :
|
|
sig module type S = sig end [@@deprecated] end =
|
|
struct module type S = sig end [@@deprecated "FOO"] end
|
|
|
|
|
|
(* Modules *)
|
|
|
|
module MD :
|
|
sig module M : sig end end =
|
|
struct module M = struct end [@@deprecated "FOO"] end
|
|
|
|
module MD_OK :
|
|
sig module M : sig end [@@deprecated] end =
|
|
struct module M = struct end [@@deprecated "FOO"] end
|