rust/src/libstd
Patrick Walton 21df9c805f librustc: Give trait methods accessible via fewer autoderefs priority
over inherent methods accessible via more autoderefs.

This simplifies the trait matching algorithm. It breaks code like:

    impl Foo {
        fn foo(self) {
            // before this change, this will be called
        }
    }

    impl<'a,'b,'c> Trait for &'a &'b &'c Foo {
        fn foo(self) {
            // after this change, this will be called
        }
    }

    fn main() {
        let x = &(&(&Foo));
        x.foo();
    }

To explicitly indicate that you wish to call the inherent method, perform
explicit dereferences. For example:

    fn main() {
        let x = &(&(&Foo));
        (***x).foo();
    }

Part of #17282.

[breaking-change]
2014-09-26 13:02:47 -07:00
..
collections auto merge of #17378 : Gankro/rust/hashmap-entry, r=aturon 2014-09-25 03:32:36 +00:00
io librustc: Give trait methods accessible via fewer autoderefs priority 2014-09-26 13:02:47 -07:00
num librustc: Forbid external crates, imports, and/or items from being 2014-08-16 19:32:25 -07:00
path Deal with the fallout of string stabilization 2014-09-23 18:31:52 -07:00
rand Fallout from renaming 2014-09-16 14:37:48 -07:00
rt Fixed: iOS build was broken because of deprecated APIs 2014-09-23 18:04:50 +03:00
sync Remove #[allow(deprecated)] from libstd 2014-09-21 21:05:05 -07:00
time Fix spelling errors and capitalization. 2014-09-03 23:10:38 -04:00
ascii.rs Remove #[allow(deprecated)] from libstd 2014-09-21 21:05:05 -07:00
bitflags.rs auto merge of #17339 : treeman/rust/doc-things, r=alexcrichton 2014-09-22 09:05:29 +00:00
c_vec.rs Fallout from renaming 2014-09-16 14:37:48 -07:00
dynamic_lib.rs Fix fallout from Vec stabilization 2014-09-21 22:15:51 -07:00
failure.rs Remove #[allow(deprecated)] from libstd 2014-09-21 21:05:05 -07:00
fmt.rs Center alignment for fmt 2014-09-04 07:38:53 -07:00
from_str.rs std: Rename the ToStr trait to ToString, and to_str to to_string. 2014-07-08 13:01:43 -07:00
gc.rs libstd: set baseline stability levels. 2014-06-30 22:49:18 -07:00
hash.rs mark std::hash experimental 2014-07-11 14:25:15 -07:00
lib.rs Remove #[allow(deprecated)] from libstd 2014-09-21 21:05:05 -07:00
macros.rs auto merge of #17339 : treeman/rust/doc-things, r=alexcrichton 2014-09-22 09:05:29 +00:00
os.rs Fixed: iOS build was broken because of deprecated APIs 2014-09-23 18:04:50 +03:00
prelude.rs libstd: Add Fn/FnMut/FnOnce to the prelude. 2014-08-19 13:57:10 -07:00
rtdeps.rs Fix spelling errors and capitalization. 2014-09-03 23:10:38 -04:00
task.rs std: Clarify what timers do with zero and negative durations 2014-08-13 11:31:47 -07:00
to_string.rs Rename to_str to to_string 2014-07-21 09:54:52 -07:00