Make `param_kind` non-optional
[hiphop-php.git] / hphp / hack / test / tast / global_inference / typeparams / type_hint_typeparameter_variance.php.exp
blob3994d1cd334b017fdcd2f1da555bf02acf211241
1 Errors:
2 [7:12-13] Wrong number of type arguments (expected 2, got 0)
3 [3:7-8] Definition is here
4 [(Class
5 { c_span = [3:1-5:2]; c_annotation = (); c_mode = Mpartial; c_final = false;
6 c_is_xhp = false; c_has_xhp_keyword = false; c_kind = (Cclass Concrete);
7 c_name = ([3:7-8], "\\C");
8 c_tparams =
9 [{ tp_variance = Covariant; tp_name = ([3:10-12], "Tu"); tp_parameters = []; tp_constraints = []; tp_reified = Erased; tp_user_attributes = [] };
10 { tp_variance = Contravariant; tp_name = ([3:15-17], "Tv"); tp_parameters = []; tp_constraints = []; tp_reified = Erased; tp_user_attributes = [] }];
11 c_extends = []; c_uses = []; c_use_as_alias = []; c_insteadof_alias = [];
12 c_xhp_attr_uses = []; c_xhp_category = None; c_reqs = []; c_implements = [];
13 c_where_constraints = []; c_consts = []; c_typeconsts = []; c_vars = [];
14 c_methods =
15 [{ m_span = [4:3-47]; m_annotation = (); m_final = false; m_abstract = false;
16 m_static = false; m_readonly_this = false; m_visibility = Public;
17 m_name = ([4:19-30], "__construct"); m_tparams = []; m_where_constraints = [];
18 m_variadic = FVnonVariadic;
19 m_params =
20 [{ param_annotation = (Tu); param_type_hint = ((Tu), (Some ([4:31-33], (Habstr ("Tu", [])))));
21 param_is_variadic = false; param_pos = [4:34-36]; param_name = "$x";
22 param_expr = None; param_readonly = None; param_callconv = Pnormal;
23 param_user_attributes = []; param_visibility = None };
24 { param_annotation = (Tv); param_type_hint = ((Tv), (Some ([4:38-40], (Habstr ("Tv", [])))));
25 param_is_variadic = false; param_pos = [4:41-43]; param_name = "$y";
26 param_expr = None; param_readonly = None; param_callconv = Pnormal;
27 param_user_attributes = []; param_visibility = None }
29 m_ctxs = None; m_unsafe_ctxs = None; m_body = { fb_ast = [([Pos.none], Noop)] };
30 m_fun_kind = FSync; m_user_attributes = []; m_readonly_ret = None;
31 m_ret = ((void), (Some ([4:19-30], (Hprim Tvoid)))); m_external = false;
32 m_doc_comment = None }
34 c_attributes = []; c_xhp_children = []; c_xhp_attrs = [];
35 c_namespace =
36 { Namespace_env.ns_ns_uses = <opaque>; ns_class_uses = <opaque>;
37 ns_record_def_uses = <opaque>; ns_fun_uses = <opaque>; ns_const_uses = <opaque>;
38 ns_name = None; ns_auto_ns_map = []; ns_is_codegen = false; ns_disable_xhp_element_mangling = false };
39 c_user_attributes = []; c_file_attributes = []; c_enum = None;
40 c_doc_comment = None; c_emit_id = None });
41 (Fun
42 { fd_namespace =
43 { Namespace_env.ns_ns_uses = <opaque>; ns_class_uses = <opaque>;
44 ns_record_def_uses = <opaque>; ns_fun_uses = <opaque>; ns_const_uses = <opaque>;
45 ns_name = None; ns_auto_ns_map = []; ns_is_codegen = false;
46 ns_disable_xhp_element_mangling = false };
47 fd_file_attributes = []; fd_mode = Mpartial;
48 fd_fun =
49 { f_span = [7:1-26]; f_readonly_this = None; f_annotation = ();
50 f_readonly_ret = None; f_ret = ((void), (Some ([7:19-23], (Hprim Tvoid))));
51 f_name = ([7:10-11], "\\f"); f_tparams = []; f_where_constraints = [];
52 f_variadic = FVnonVariadic;
53 f_params =
54 [{ param_annotation = (C<mixed, nothing>); param_type_hint = ((C<mixed, nothing>), (Some ([7:12-13], (Happly (([7:12-13], "\\C"), [])))));
55 param_is_variadic = false; param_pos = [7:14-16]; param_name = "$x";
56 param_expr = None; param_readonly = None; param_callconv = Pnormal;
57 param_user_attributes = []; param_visibility = None }
59 f_ctxs = None; f_unsafe_ctxs = None; f_body = { fb_ast = [([Pos.none], Noop)] };
60 f_fun_kind = FSync; f_user_attributes = []; f_external = false;
61 f_doc_comment = None }