]> git.lizzy.rs Git - rust.git/commit
Implement default method inheritance.
authorAaron Turon <aturon@mozilla.com>
Mon, 28 Dec 2015 23:38:26 +0000 (15:38 -0800)
committerAaron Turon <aturon@mozilla.com>
Mon, 14 Mar 2016 22:04:36 +0000 (15:04 -0700)
commit7e42a780161e757ddd7d20925691a861f9d86725
treed7ab5d046937d831738e04c9c184671dbafb177e
parent957ee5ce347999ef2c1acfdb63a76643c61f6516
Implement default method inheritance.

This commit leverages the specialization graph infrastructure to allow
specializing trait implementations to leave off methods for which their
parents have provided defaults.

It does not yet check that the `default` keyword is appropriately used
in such cases.
src/librustc/middle/traits/coherence.rs
src/librustc/middle/traits/mod.rs
src/librustc/middle/traits/select.rs
src/librustc/middle/traits/specialize.rs
src/librustc/middle/ty/mod.rs
src/librustc/middle/ty/trait_def.rs
src/librustc/middle/ty/util.rs
src/librustc_trans/trans/meth.rs
src/librustc_typeck/check/mod.rs