aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/typecheck/rust-tyty.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/rust/typecheck/rust-tyty.h')
-rw-r--r--gcc/rust/typecheck/rust-tyty.h27
1 files changed, 20 insertions, 7 deletions
diff --git a/gcc/rust/typecheck/rust-tyty.h b/gcc/rust/typecheck/rust-tyty.h
index 7384c40..570a57b 100644
--- a/gcc/rust/typecheck/rust-tyty.h
+++ b/gcc/rust/typecheck/rust-tyty.h
@@ -650,9 +650,11 @@ public:
std::vector<SubstitutionParamMapping> subst_refs,
SubstitutionArgumentMappings generic_arguments
= SubstitutionArgumentMappings::error (),
+ RegionConstraints region_constraints = {},
std::set<HirId> refs = std::set<HirId> ())
: BaseType (ref, ref, TypeKind::ADT, ident, refs),
- SubstitutionRef (std::move (subst_refs), std::move (generic_arguments)),
+ SubstitutionRef (std::move (subst_refs), std::move (generic_arguments),
+ region_constraints),
identifier (identifier), variants (variants), adt_kind (adt_kind)
{}
@@ -661,9 +663,11 @@ public:
std::vector<SubstitutionParamMapping> subst_refs,
SubstitutionArgumentMappings generic_arguments
= SubstitutionArgumentMappings::error (),
+ RegionConstraints region_constraints = {},
std::set<HirId> refs = std::set<HirId> ())
: BaseType (ref, ty_ref, TypeKind::ADT, ident, refs),
- SubstitutionRef (std::move (subst_refs), std::move (generic_arguments)),
+ SubstitutionRef (std::move (subst_refs), std::move (generic_arguments),
+ region_constraints),
identifier (identifier), variants (variants), adt_kind (adt_kind)
{}
@@ -672,9 +676,11 @@ public:
std::vector<SubstitutionParamMapping> subst_refs, ReprOptions repr,
SubstitutionArgumentMappings generic_arguments
= SubstitutionArgumentMappings::error (),
+ RegionConstraints region_constraints = {},
std::set<HirId> refs = std::set<HirId> ())
: BaseType (ref, ty_ref, TypeKind::ADT, ident, refs),
- SubstitutionRef (std::move (subst_refs), std::move (generic_arguments)),
+ SubstitutionRef (std::move (subst_refs), std::move (generic_arguments),
+ region_constraints),
identifier (identifier), variants (variants), adt_kind (adt_kind),
repr (repr)
{}
@@ -774,9 +780,11 @@ public:
std::vector<std::pair<HIR::Pattern *, BaseType *>> params,
BaseType *type, std::vector<SubstitutionParamMapping> subst_refs,
SubstitutionArgumentMappings substitution_argument_mappings,
+ RegionConstraints region_constraints,
std::set<HirId> refs = std::set<HirId> ())
: CallableTypeInterface (ref, ref, TypeKind::FNDEF, ident, refs),
- SubstitutionRef (std::move (subst_refs), substitution_argument_mappings),
+ SubstitutionRef (std::move (subst_refs), substitution_argument_mappings,
+ region_constraints),
params (std::move (params)), type (type), flags (flags),
identifier (identifier), id (id), abi (abi)
{
@@ -789,9 +797,11 @@ public:
std::vector<std::pair<HIR::Pattern *, BaseType *>> params,
BaseType *type, std::vector<SubstitutionParamMapping> subst_refs,
SubstitutionArgumentMappings substitution_argument_mappings,
+ RegionConstraints region_constraints,
std::set<HirId> refs = std::set<HirId> ())
: CallableTypeInterface (ref, ty_ref, TypeKind::FNDEF, ident, refs),
- SubstitutionRef (std::move (subst_refs), substitution_argument_mappings),
+ SubstitutionRef (std::move (subst_refs), substitution_argument_mappings,
+ region_constraints),
params (params), type (type), flags (flags), identifier (identifier),
id (id), abi (abi)
{
@@ -962,7 +972,8 @@ public:
= std::vector<TypeBoundPredicate> ())
: CallableTypeInterface (ref, ref, TypeKind::CLOSURE, ident, refs),
SubstitutionRef (std::move (subst_refs),
- SubstitutionArgumentMappings::error ()),
+ SubstitutionArgumentMappings::error (),
+ {}), // TODO: check region constraints
parameters (parameters), result_type (std::move (result_type)), id (id),
captures (captures)
{
@@ -980,7 +991,7 @@ public:
= std::vector<TypeBoundPredicate> ())
: CallableTypeInterface (ref, ty_ref, TypeKind::CLOSURE, ident, refs),
SubstitutionRef (std::move (subst_refs),
- SubstitutionArgumentMappings::error ()), // TODO
+ SubstitutionArgumentMappings::error (), {}), // TODO
parameters (parameters), result_type (std::move (result_type)), id (id),
captures (captures)
{
@@ -1534,6 +1545,7 @@ public:
std::vector<SubstitutionParamMapping> subst_refs,
SubstitutionArgumentMappings generic_arguments
= SubstitutionArgumentMappings::error (),
+ RegionConstraints region_constraints = {},
std::set<HirId> refs = std::set<HirId> ());
ProjectionType (HirId ref, HirId ty_ref, BaseType *base,
@@ -1541,6 +1553,7 @@ public:
std::vector<SubstitutionParamMapping> subst_refs,
SubstitutionArgumentMappings generic_arguments
= SubstitutionArgumentMappings::error (),
+ RegionConstraints region_constraints = {},
std::set<HirId> refs = std::set<HirId> ());
void accept_vis (TyVisitor &vis) override;