diff --git a/src/libcore/core.rc b/src/libcore/core.rc
index 54644281edf..ccfeb0de0e7 100644
--- a/src/libcore/core.rc
+++ b/src/libcore/core.rc
@@ -50,7 +50,6 @@ Implicitly, all crates behave as if they included the following prologue:
#[warn(vecs_implicitly_copyable)];
#[deny(non_camel_case_types)];
-#[allow(deprecated_self)];
#[allow(deprecated_mutable_fields)];
/* The Prelude. */
diff --git a/src/libcore/dvec.rs b/src/libcore/dvec.rs
index 7eb615d07a6..43daf5fa6a5 100644
--- a/src/libcore/dvec.rs
+++ b/src/libcore/dvec.rs
@@ -108,7 +108,7 @@ fn unwrap(self) -> ~[A] { unwrap(self) }
pub impl DVec {
// FIXME (#3758): This should not need to be public.
#[inline(always)]
- fn check_out(f: &fn(v: ~[A]) -> B) -> B {
+ fn check_out(&self, f: &fn(v: ~[A]) -> B) -> B {
unsafe {
let mut data = cast::reinterpret_cast(&null::<()>());
data <-> self.data;
diff --git a/src/libcore/hash.rs b/src/libcore/hash.rs
index 2587b84b274..8f3f81d167e 100644
--- a/src/libcore/hash.rs
+++ b/src/libcore/hash.rs
@@ -68,7 +68,7 @@ pub trait Streaming {
fn input(&self, (&[const u8]));
// These can be refactored some when we have default methods.
fn result_bytes(&self) -> ~[u8];
- fn result_str() -> ~str;
+ fn result_str(&self) -> ~str;
fn result_u64(&self) -> u64;
fn reset(&self);
}
@@ -349,8 +349,7 @@ fn result_bytes(&self) -> ~[u8] {
]
}
- // IMPLICIT SELF WARNING: fix me!
- fn result_str() -> ~str {
+ fn result_str(&self) -> ~str {
let r = self.result_bytes();
let mut s = ~"";
for vec::each(r) |b| {
diff --git a/src/libcore/unstable.rs b/src/libcore/unstable.rs
index dcec424f290..8169b957898 100644
--- a/src/libcore/unstable.rs
+++ b/src/libcore/unstable.rs
@@ -228,7 +228,7 @@ fn LittleLock() -> LittleLock {
pub impl LittleLock {
#[inline(always)]
- unsafe fn lock(f: fn() -> T) -> T {
+ unsafe fn lock(&self, f: fn() -> T) -> T {
struct Unlock {
l: rust_little_lock,
drop {
@@ -280,7 +280,7 @@ pub impl Exclusive {
// accessing the provided condition variable) are prohibited while inside
// the exclusive. Supporting that is a work in progress.
#[inline(always)]
- unsafe fn with(f: fn(x: &mut T) -> U) -> U {
+ unsafe fn with(&self, f: fn(x: &mut T) -> U) -> U {
unsafe {
let rec = get_shared_mutable_state(&self.x);
do (*rec).lock.lock {
@@ -297,7 +297,7 @@ unsafe fn with(f: fn(x: &mut T) -> U) -> U {
}
#[inline(always)]
- unsafe fn with_imm(f: fn(x: &T) -> U) -> U {
+ unsafe fn with_imm(&self, f: fn(x: &T) -> U) -> U {
do self.with |x| {
f(cast::transmute_immut(x))
}
diff --git a/src/librustpkg/util.rs b/src/librustpkg/util.rs
index d7428ae15e7..32f9593d9a6 100644
--- a/src/librustpkg/util.rs
+++ b/src/librustpkg/util.rs
@@ -253,7 +253,7 @@ pub fn error(msg: ~str) {
}
pub fn hash(data: ~str) -> ~str {
- let hasher = hash::default_state();
+ let hasher = &hash::default_state();
hasher.write_str(data);
hasher.result_str()