diff options
author | John Hodge <tpg@mutabah.net> | 2016-06-06 23:12:39 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-06-06 23:12:39 +0800 |
commit | 0a18cb44477d4ac241ce08feb768136684714a07 (patch) | |
tree | 6df36577d55037afff2270afc7e581d6c78b187b /src/hir/type.cpp | |
parent | e31213085b8d4846981b4db61502bbf46d1ed59f (diff) | |
download | mrust-0a18cb44477d4ac241ce08feb768136684714a07.tar.gz |
HIR - BorrowType on pointer, allow pointer coerce
Diffstat (limited to 'src/hir/type.cpp')
-rw-r--r-- | src/hir/type.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/hir/type.cpp b/src/hir/type.cpp index 2d87ffb9..61ba9419 100644 --- a/src/hir/type.cpp +++ b/src/hir/type.cpp @@ -90,11 +90,11 @@ void ::HIR::TypeRef::fmt(::std::ostream& os) const os << *e.inner; ), (Pointer, - if( e.is_mut ) { - os << "*mut "; - } - else { - os << "*const "; + switch(e.type) + { + case ::HIR::BorrowType::Shared: os << "*const "; break; + case ::HIR::BorrowType::Unique: os << "*mut "; break; + case ::HIR::BorrowType::Owned: os << "*move "; break; } os << *e.inner; ), @@ -164,7 +164,7 @@ bool ::HIR::TypeRef::operator==(const ::HIR::TypeRef& x) const return *te.inner == *xe.inner; ), (Pointer, - if( te.is_mut != xe.is_mut ) + if( te.type != xe.type ) return false; return *te.inner == *xe.inner; ), @@ -301,7 +301,7 @@ namespace { return ::HIR::TypeRef( Data::make_Borrow({e.type, box$(e.inner->clone())}) ); ), (Pointer, - return ::HIR::TypeRef( Data::make_Pointer({e.is_mut, box$(e.inner->clone())}) ); + return ::HIR::TypeRef( Data::make_Pointer({e.type, box$(e.inner->clone())}) ); ), (Function, FunctionType ft; |