reference (trait_reference.get_mappings ().get_defid ()), locus (locus),
error_flag (false), polarity (polarity)
{
+ rust_assert (!trait_reference.get_trait_substs ().empty ());
+
substitutions.clear ();
for (const auto &p : trait_reference.get_trait_substs ())
substitutions.push_back (p.clone ());
reference (reference), locus (locus), error_flag (false),
polarity (polarity)
{
+ rust_assert (!subst.empty ());
+
substitutions.clear ();
for (const auto &p : subst)
substitutions.push_back (p.clone ());
used_arguments.get_mappings ().push_back (placeholder_self);
}
+TypeBoundPredicate::TypeBoundPredicate (mark_is_error)
+ : SubstitutionRef ({}, SubstitutionArgumentMappings::empty ()),
+ reference (UNKNOWN_DEFID), locus (UNDEF_LOCATION), error_flag (true),
+ polarity (BoundPolarity::RegularBound)
+{}
+
TypeBoundPredicate::TypeBoundPredicate (const TypeBoundPredicate &other)
: SubstitutionRef ({}, SubstitutionArgumentMappings::empty ()),
reference (other.reference), locus (other.locus),
TypeBoundPredicate
TypeBoundPredicate::error ()
{
- auto p = TypeBoundPredicate (UNKNOWN_DEFID, {}, BoundPolarity::RegularBound,
- UNDEF_LOCATION);
- p.error_flag = true;
- return p;
+ return TypeBoundPredicate (mark_is_error ());
}
std::string