summaryrefslogtreecommitdiff
path: root/testsuite/tests/warnings/deprecated_module_assigment.ml
blob: c4f9b2b6762e9548058713f6b26f5939109461ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
(* TEST

flags = "-w +A-70"

* 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