about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-09-22 13:36:37 -0700
committerBrian Anderson <banderson@mozilla.com>2011-09-22 13:53:33 -0700
commit67bac873e0652eeae4cf8d258f029207e2bab6af (patch)
tree3be5194955f5dcc1069545fe58d75807a1e28df1
parent268a9fe5fb3e6ac1f5bc3f1a7784da751cb56af8 (diff)
downloadrust-67bac873e0652eeae4cf8d258f029207e2bab6af.tar.gz
rust-67bac873e0652eeae4cf8d258f029207e2bab6af.zip
Add assignment to unique box locals
Issue #409
-rw-r--r--src/comp/middle/ty.rs4
-rw-r--r--src/test/run-pass/unique-assign.rs5
2 files changed, 9 insertions, 0 deletions
diff --git a/src/comp/middle/ty.rs b/src/comp/middle/ty.rs
index 6be7274fa2f..7f80a439d84 100644
--- a/src/comp/middle/ty.rs
+++ b/src/comp/middle/ty.rs
@@ -1019,6 +1019,10 @@ fn type_kind(cx: ctxt, ty: t) -> ast::kind {
       ty_box(mt) {
         result = ast::kind_shared;
       }
+      ty_uniq(mt) {
+        // FIXME (409): Calculate kind
+        result = ast::kind_unique;
+      }
       // Pointers and unique boxes / vecs raise pinned to shared,
       // otherwise pass through their pointee kind.
       ty_ptr(tm) | ty_vec(tm) {
diff --git a/src/test/run-pass/unique-assign.rs b/src/test/run-pass/unique-assign.rs
new file mode 100644
index 00000000000..01a057573c8
--- /dev/null
+++ b/src/test/run-pass/unique-assign.rs
@@ -0,0 +1,5 @@
+fn main() {
+    let i;
+    i = ~1;
+    assert *i == 1;
+}
\ No newline at end of file