namespace Rust {
namespace Resolver {
+TraitItemReference
+ResolveTraitItemToRef::Resolve (
+ HIR::TraitItem &item, TyTy::BaseType *self,
+ std::vector<TyTy::SubstitutionParamMapping> substitutions)
+{
+ ResolveTraitItemToRef resolver (self, std::move (substitutions));
+ item.accept_vis (resolver);
+ return std::move (resolver.resolved);
+}
+
void
ResolveTraitItemToRef::visit (HIR::TraitItemType &type)
{
#ifndef RUST_HIR_TRAIT_RESOLVE_H
#define RUST_HIR_TRAIT_RESOLVE_H
-#include "rust-hir-type-check-base.h"
#include "rust-hir-type-check-type.h"
-#include "rust-hir-trait-ref.h"
namespace Rust {
namespace Resolver {
public:
static TraitItemReference
Resolve (HIR::TraitItem &item, TyTy::BaseType *self,
- std::vector<TyTy::SubstitutionParamMapping> substitutions)
- {
- ResolveTraitItemToRef resolver (self, std::move (substitutions));
- item.accept_vis (resolver);
- return std::move (resolver.resolved);
- }
+ std::vector<TyTy::SubstitutionParamMapping> substitutions);
void visit (HIR::TraitItemType &type) override;
#include "rust-hir-full-decls.h"
#include "rust-hir-map.h"
#include "rust-tyty.h"
-#include "rust-hir-trait-ref.h"
+#include "rust-hir-trait-reference.h"
#include "rust-autoderef.h"
namespace Rust {
#include "rust-linemap.h"
#include "rust-substitution-mapper.h"
-#include "rust-hir-trait-ref.h"
+#include "rust-hir-trait-reference.h"
#include "rust-hir-type-bounds.h"
#include "rust-hir-trait-resolve.h"
#include "rust-tyty-rules.h"