]> git.lizzy.rs Git - rust.git/commit
auto merge of #17501 : pcwalton/rust/improve-method-lookup-autoderef, r=nikomatsakis
authorbors <bors@rust-lang.org>
Wed, 1 Oct 2014 07:22:18 +0000 (07:22 +0000)
committerbors <bors@rust-lang.org>
Wed, 1 Oct 2014 07:22:18 +0000 (07:22 +0000)
commit60e7317345f246a8169bbfe721473f693d54cade
treeffd2472717f972aaca1d50b73a531c5d1dbfd150
parentfe93a549a49983837747986797a40d85ba047cad
parent496cc4c0d4a06047c4f78965c8bc6e2c812c7812
auto merge of #17501 : pcwalton/rust/improve-method-lookup-autoderef, r=nikomatsakis

prefer `Deref` over `DerefMut` in all other circumstances.

Because the compiler now prefers `Deref`, this can break code that
looked like:

    let mut foo = bar.borrow_mut();
    (*foo).call_something_that_requires_mutable_self();

Replace this code with:

    let mut foo = bar.baz();
    (&mut *foo).call_something_that_requires_mutable_self();

Closes #12825.

[breaking-change]

r? @nikomatsakis
src/librustc/middle/mem_categorization.rs
src/librustc/middle/typeck/check/mod.rs