- silent import shadowing in d. The problem in OCaml, wherein important_data.txt is overwritten without the warn-error:
[@@@warning "@44"] module Stdio = struct let write a b = Printf.printf "%s%s" a b let writeln a = Printf.printf "%s\n" a end module File = struct let readText a = In_channel.with_open_text a In_channel.input_all let write a b = Out_channel.with_open_text a (fun file -> Out_channel.output_string file b) end open Stdio let read_and_log filename = let open File in let text = readText filename in write filename " read successfully!\n"; text let () = writeln (read_and_log "important_data.txt") - https://www.boxyuwu.blog/posts/an-incoherent-rust/ - on coherence and orphan rules in Rust (commonly encountered as "you can only write a trait implementation if either the trait or the self type is defined in the current crate").