8.10 Overriding in open statements

(Introduced in OCaml 4.01)

definition::=
open! module-path
specification::=
open! module-path
expr::=
let open! module-path in expr
class-body-type::=
let open! module-path in class-body-type
class-expr::=
let open! module-path in class-expr

Since OCaml 4.01, open statements shadowing an existing identifier(which is later used) trigger the warning 44. Adding a !character after the open keyword indicates that such a shadowing isintentional and should not trigger the warning.

This is also available (since OCaml 4.06) for local opens in classexpressions and class type expressions.