2 [3:14-18] The type `this` cannot be used as a constraint
on a class generic
, or as the type of a static member
variable
3 [7:23-27] The type `this` cannot be used as a constraint
on a class generic
, or as the type of a static member
variable
5 { c_span
= [3:1-5:2]; c_annotation
= (); c_mode
= Mstrict
; c_final
= false
;
6 c_is_xhp
= false
; c_has_xhp_keyword
= false
; c_kind
= (Cclass Concrete
);
7 c_name
= ([3:7-8], "\\C");
9 [{ tp_variance
= Invariant
; tp_name
= ([3:9-10], "T"); tp_parameters = [];
10 tp_constraints
= [(Constraint_as
, ([3:9-10], (Happly
(([3:9-10], "\\HH\\supportdyn"), [([3:9-10], Hmixed)])))); (Constraint_as, ([3:14-18], Hthis))];
11 tp_reified
= Erased
; tp_user_attributes
= [] }
13 c_extends
= []; c_uses
= []; c_xhp_attr_uses
= []; c_xhp_category
= None;
14 c_reqs
= []; c_implements
= []; c_where_constraints
= []; c_consts
= [];
17 [{ cv_final
= false
; cv_xhp_attr
= None; cv_abstract
= false
; cv_readonly
= false
;
18 cv_visibility
= Private
; cv_type
= ((), (Some
([4:11-13], (Hoption
([4:12-13], (Habstr
("T", [])))))));
19 cv_id
= ([4:14-16], "x"); cv_expr = None; cv_user_attributes = [];
20 cv_doc_comment
= None; cv_is_static
= false
; cv_span
= [4:14-16] }
22 c_methods
= []; c_xhp_children
= []; c_xhp_attrs
= [];
24 { Namespace_env.ns_ns_uses
= <opaque
>; ns_class_uses
= <opaque
>;
25 ns_fun_uses
= <opaque
>; ns_const_uses
= <opaque
>; ns_name
= None;
26 ns_mode
= Namespace_env.ForTypecheck
; ns_disable_xhp_element_mangling
= false
};
27 c_user_attributes
= [{ ua_name
= ([3:7-8], "__SupportDynamicType"); ua_params = [] }];
28 c_file_attributes
= []; c_docs_url
= None; c_enum
= None; c_doc_comment
= None;
29 c_emit_id
= None; c_internal
= false
; c_module
= None });
31 { c_span
= [7:1-9:2]; c_annotation
= (); c_mode
= Mstrict
; c_final
= false
;
32 c_is_xhp
= false
; c_has_xhp_keyword
= false
; c_kind
= (Cclass Abstract
);
33 c_name
= ([7:16-17], "\\C");
35 [{ tp_variance
= Invariant
; tp_name
= ([7:18-19], "T"); tp_parameters = [];
37 [(Constraint_as
, ([7:18-19], (Happly
(([7:18-19], "\\HH\\supportdyn"), [([7:18-19], Hmixed)])))); (Constraint_as, ([7:23-30], (Haccess (([7:23-27], Hthis), [([7:29-30], "X")]))))];
38 tp_reified
= Erased
; tp_user_attributes
= [] }
40 c_extends
= []; c_uses
= []; c_xhp_attr_uses
= []; c_xhp_category
= None;
41 c_reqs
= []; c_implements
= []; c_where_constraints
= []; c_consts
= [];
43 [{ c_tconst_user_attributes
= []; c_tconst_name
= ([8:23-24], "X");
44 c_tconst_kind
= (TCAbstract
{ c_atc_as_constraint
= None; c_atc_super_constraint
= None; c_atc_default
= None });
45 c_tconst_span
= [8:3-25]; c_tconst_doc_comment
= None; c_tconst_is_ctx
= false
}
47 c_vars
= []; c_methods
= []; c_xhp_children
= []; c_xhp_attrs
= [];
49 { Namespace_env.ns_ns_uses
= <opaque
>; ns_class_uses
= <opaque
>;
50 ns_fun_uses
= <opaque
>; ns_const_uses
= <opaque
>; ns_name
= None;
51 ns_mode
= Namespace_env.ForTypecheck
; ns_disable_xhp_element_mangling
= false
};
52 c_user_attributes
= [{ ua_name
= ([7:16-17], "__SupportDynamicType"); ua_params = [] }];
53 c_file_attributes
= []; c_docs_url
= None; c_enum
= None; c_doc_comment
= None;
54 c_emit_id
= None; c_internal
= false
; c_module
= None })