Skip to content

Commit 0ebbcc3

Browse files
committed
WIP
1 parent 1963231 commit 0ebbcc3

File tree

3 files changed

+11
-15
lines changed

3 files changed

+11
-15
lines changed

compiler/lib/primitive.ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ let register p k kargs arity =
9999
| k' when kind_equal k k' -> ()
100100
| k' ->
101101
Warning.warn
102-
`Other
102+
`Overriding_primitives_purity
103103
"overriding the purity of the primitive %s: %s -> %s@."
104104
p
105105
(string_of_kind k')

compiler/lib/warning.ml

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ type t =
1414
| `Missing_deps
1515
| `Deprecated_joo_global_object
1616
| `Overriding_primitives
17+
| `Overriding_primitives_purity
1718
| `Deprecated_primitives
1819
| `Unused_js_variable
1920
| `Free_variables_in_primitives
@@ -46,7 +47,8 @@ let default = function
4647
| `Missing_primitives | `Missing_defined | `Missing_deps | `Free_variables_in_primitives
4748
-> true
4849
| `Deprecated_joo_global_object -> true
49-
| `Overriding_primitives | `Deprecated_primitives -> true
50+
| `Overriding_primitives | `Overriding_primitives_purity -> true
51+
| `Deprecated_primitives -> true
5052
| `Unused_js_variable -> false
5153

5254
let all =
@@ -63,6 +65,7 @@ let all =
6365
; `Missing_deps
6466
; `Deprecated_joo_global_object
6567
; `Overriding_primitives
68+
; `Overriding_primitives_purity
6669
; `Deprecated_primitives
6770
; `Unused_js_variable
6871
; `Free_variables_in_primitives
@@ -84,6 +87,7 @@ let name = function
8487
| `Free_variables_in_primitives -> "free-variables"
8588
| `Deprecated_joo_global_object -> "deprecated-joo-global-object"
8689
| `Overriding_primitives -> "overriding-primitive"
90+
| `Overriding_primitives_purity -> "overriding-primitive-purity"
8791
| `Deprecated_primitives -> "deprecated-primitive"
8892
| `Unused_js_variable -> "unused-js-vars"
8993

@@ -107,22 +111,13 @@ let werror = ref false
107111

108112
let warnings = ref 0
109113

110-
let warn (t : [ t | `Other ]) fmt =
114+
let warn (t : t) fmt =
111115
Format.kasprintf
112116
(fun s ->
113-
if
114-
(match t with
115-
| `Other -> true
116-
| #t as t -> enabled t)
117-
&& not !quiet
117+
if enabled t && not !quiet
118118
then (
119119
incr warnings;
120-
Format.eprintf
121-
"Warning%s: %s%!"
122-
(match t with
123-
| `Other -> ""
124-
| #t as t -> Printf.sprintf " [%s]" (name t))
125-
s))
120+
Format.eprintf "Warning%s: %s%!" (Printf.sprintf " [%s]" (name t)) s))
126121
fmt
127122

128123
let process_warnings () =

compiler/lib/warning.mli

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ type t =
1313
| `Free_variables_in_primitives
1414
| `Deprecated_joo_global_object
1515
| `Overriding_primitives
16+
| `Overriding_primitives_purity
1617
| `Deprecated_primitives
1718
| `Unused_js_variable
1819
]
@@ -31,6 +32,6 @@ val quiet : bool ref
3132

3233
val werror : bool ref
3334

34-
val warn : [ t | `Other ] -> ('a, Format.formatter, unit, unit) format4 -> 'a
35+
val warn : t -> ('a, Format.formatter, unit, unit) format4 -> 'a
3536

3637
val process_warnings : unit -> unit

0 commit comments

Comments
 (0)