summaryrefslogtreecommitdiff
path: root/src/hir/path.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hir/path.hpp')
-rw-r--r--src/hir/path.hpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/hir/path.hpp b/src/hir/path.hpp
index 89eddba1..d56b11a9 100644
--- a/src/hir/path.hpp
+++ b/src/hir/path.hpp
@@ -1,4 +1,5 @@
-
+/*
+ */
#ifndef _HIR_PATH_HPP_
#define _HIR_PATH_HPP_
#pragma once
@@ -6,11 +7,19 @@
#include <common.hpp>
#include <tagged_union.hpp>
#include <hir/type_ptr.hpp>
+#include <span.hpp>
namespace HIR {
class Trait;
+typedef ::std::function<const ::HIR::TypeRef&(const ::HIR::TypeRef&)> t_cb_resolve_type;
+enum Compare {
+ Equal,
+ Fuzzy,
+ Unequal,
+};
+
/// Simple path - Absolute with no generic parameters
struct SimplePath
{
@@ -129,6 +138,7 @@ public:
Path(SimplePath _);
Path clone() const;
+ Compare compare_with_paceholders(const Span& sp, const Path& x, t_cb_resolve_type resolve_placeholder) const;
friend ::std::ostream& operator<<(::std::ostream& os, const Path& x);
};