summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/hir_typeck/expr_cs.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/hir_typeck/expr_cs.cpp b/src/hir_typeck/expr_cs.cpp
index c304654b..7bbfb847 100644
--- a/src/hir_typeck/expr_cs.cpp
+++ b/src/hir_typeck/expr_cs.cpp
@@ -2030,6 +2030,14 @@ namespace {
return false;
)
+ TU_IFLET(::HIR::TypeRef::Data, ty_dst.m_data, Infer, l_e,
+ if( l_e.ty_class == ::HIR::InferClass::None ) {
+ context.possible_equate_type(l_e.index, ty_src);
+ return false;
+ }
+ // - Otherwise, it could be a deref?
+ )
+
// Deref coercions
{
::HIR::TypeRef tmp_ty;
@@ -2064,7 +2072,7 @@ namespace {
}
// Either ran out of deref, or hit a _
}
-
+
// - If `right`: ::core::marker::Unsize<`left`>
// - If left can be dereferenced to right
// - If left is a slice, right can unsize/deref (Defunct?)