Ich schaute auf das Handbuch und fand, dass es in OCaml Attribute gibt, Dinge als veraltet zu deklarieren (siehe http://caml.inria.fr/pub/docs/manual-ocaml/extn.html), aber ich kann nicht herausfinden, wie sie vom Compiler erkannt werden.OCaml Attribute
Hier ist das Programm, das ich schrieb:
let x = 1 [@@ocaml.deprecated "don't use this"]
type t = X | Y [@@ocaml.deprecated "don't use this"]
let _ =
let y = Y in
match y with
| X ->
print_string (string_of_int x)
| Y -> assert false
(Ich habe auch versucht [@@deprecated ...]
anstatt [@@ocaml.deprecated ...]
mit dem gleichen Ergebnis). Ich erhalte keine Warnungen, wenn ich laufe:
ocamlbuild src/trial.byte
Gibt es etwas, das ich in meiner _tags
Datei einrichten müssen? Gibt es noch etwas, das mir hier fehlt?
Scheint, wie (1) '[@deprecated "nicht dieses verwenden"]' (mit einer '@') nach der Art 'T' Definition Werke für mich (getestet mit OCaml 4.02.3 und 4.03.0); (2) weder '@ deprecated' noch' depotated' funktionieren nach dem Ausdruck "let x = 1". Es gibt auch eine seltsame Eigenart: 'Warnung 3: veraltet: Y nicht verwenden 'wird zweimal für die letzte Zeile gedruckt. –