]> git.lizzy.rs Git - rust.git/commit
Make the `Fn` traits inherit from one another and remove the bridging
authorNiko Matsakis <niko@alum.mit.edu>
Sun, 15 Feb 2015 20:09:26 +0000 (15:09 -0500)
committerNiko Matsakis <niko@alum.mit.edu>
Mon, 23 Mar 2015 20:46:02 +0000 (16:46 -0400)
commit37601131a0ffc49e93b8797020429a980520171c
treea12fdb96398c503fd0719784e6457d5944a4a28f
parentb0aad7dd4fad8d7e2e2f877a511a637258949597
Make the `Fn` traits inherit from one another and remove the bridging
impls.

This requires:

1. modifying trait selection a bit so that when we synthesize impls for
   fn pointers and closures;
2. adding code to trans so that we can synthesize a `FnMut`/`FnOnce`
   impl for a `Fn` closure and so forth.
12 files changed:
src/libcore/ops.rs
src/libcore/str/mod.rs
src/librustc/middle/traits/project.rs
src/librustc/middle/traits/select.rs
src/librustc/middle/ty.rs
src/librustc_trans/trans/callee.rs
src/librustc_trans/trans/closure.rs
src/librustc_trans/trans/meth.rs
src/librustc_typeck/astconv.rs
src/librustc_typeck/check/closure.rs
src/librustc_typeck/check/method/probe.rs
src/librustc_typeck/collect.rs