recommended way of using directive .weak_def_can_be_hidden