From 856acbf66d21a20bd115f11c55c7abecd1f4c92e Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 23 Sep 2011 18:50:00 -0700 Subject: Vectors containing pinned kinds become pinned Otherwise they could be copied --- src/lib/either.rs | 6 +++--- src/lib/vec.rs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/lib') diff --git a/src/lib/either.rs b/src/lib/either.rs index 143f0cabe92..d20b124a968 100644 --- a/src/lib/either.rs +++ b/src/lib/either.rs @@ -10,7 +10,7 @@ fn either(eithers: [t]) -> [T] { +fn lefts<@T, U>(eithers: [t]) -> [T] { let result: [T] = []; for elt: t in eithers { alt elt { left(l) { result += [l]; } _ {/* fallthrough */ } } @@ -18,7 +18,7 @@ fn lefts(eithers: [t]) -> [T] { ret result; } -fn rights(eithers: [t]) -> [U] { +fn rights(eithers: [t]) -> [U] { let result: [U] = []; for elt: t in eithers { alt elt { right(r) { result += [r]; } _ {/* fallthrough */ } } @@ -26,7 +26,7 @@ fn rights(eithers: [t]) -> [U] { ret result; } -fn partition(eithers: [t]) -> {lefts: [T], rights: [U]} { +fn partition<@T, @U>(eithers: [t]) -> {lefts: [T], rights: [U]} { let lefts: [T] = []; let rights: [U] = []; for elt: t in eithers { diff --git a/src/lib/vec.rs b/src/lib/vec.rs index fef91259b50..84bd02e3689 100644 --- a/src/lib/vec.rs +++ b/src/lib/vec.rs @@ -343,7 +343,7 @@ iter iter2<@T>(v: [T]) -> (uint, T) { mod unsafe { type vec_repr = {mutable fill: uint, mutable alloc: uint, data: u8}; - fn from_buf(ptr: *T, elts: uint) -> [T] { + fn from_buf<@T>(ptr: *T, elts: uint) -> [T] { ret rustrt::vec_from_buf_shared(ptr, elts); } -- cgit 1.4.1-3-g733a5