Module Main_warnings

type all = [
| `Self_ast_typed_warning_unused of Simple_utils.Location.t * string
| `Self_ast_typed_warning_muchused of Simple_utils.Location.t * string
| `Self_ast_typed_warning_unused_rec of Simple_utils.Location.t * string
| `Checking_ambiguous_constructor of Simple_utils.Location.t * Stage_common.Types.type_variable * Stage_common.Types.type_variable
| `Self_ast_imperative_warning_layout of Simple_utils.Location.t * Ast_imperative.label
| `Self_ast_imperative_warning_deprecated_polymorphic_variable of Simple_utils.Location.t * Stage_common.Types.TypeVar.t
| `Self_ast_imperative_warning_deprecated_constant of Simple_utils.Location.t * Ast_imperative.expression * Ast_imperative.expression * Ast_imperative.type_expression
| `Main_view_ignored of Simple_utils.Location.t
| `Michelson_typecheck_failed_with_different_protocol of Environment.Protocols.t * Tezos_error_monad.Error_monad.error list
| `Jsligo_deprecated_failwith_no_return of Simple_utils.Location.t
| `Jsligo_deprecated_toplevel_let of Simple_utils.Location.t
| `Use_meta_ligo of Simple_utils.Location.t
| `Self_ast_aggregated_warning_bad_self_type of Ast_aggregated.type_expression * Ast_aggregated.type_expression * Simple_utils.Location.t
| `Deprecated_reasonligo
]
val warn_layout : 'a -> 'b -> [> `Self_ast_imperative_warning_layout of 'a * 'b ]
val warn_bad_self_type : 'a -> 'b -> 'c -> [> `Self_ast_aggregated_warning_bad_self_type of 'a * 'b * 'c ]
val pp : display_format:string Simple_utils.Display.display_format -> Stdlib.Format.formatter -> all -> unit
val to_json : all -> Yojson.Safe.t