diff options
-rw-r--r-- | src/hir/from_ast.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/hir/from_ast.cpp b/src/hir/from_ast.cpp index b4ea38e6..3e366d8f 100644 --- a/src/hir/from_ast.cpp +++ b/src/hir/from_ast.cpp @@ -552,6 +552,21 @@ return rv; ) else { + if(const auto* e = path.m_class.opt_UFCS()) { + DEBUG(path); + if( !e->type ) { + } + //else if( e->trait ) { + //} + else if( ! e->nodes.empty() ) { + } + else if( !e->type->m_data.is_Path() ) { + } + else { + // HACK: `Self` replacement + return LowerHIR_GenericPath(sp, e->type->m_data.as_Path().path, false); + } + } BUG(sp, "Encountered non-Absolute path when creating ::HIR::GenericPath - " << path); } } |