about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-10-10 03:02:02 +0000
committerbors <bors@rust-lang.org>2014-10-10 03:02:02 +0000
commitb74208bc12390b168e4a342de27d806639d89ffe (patch)
treec76e2b602d7fbc51d40b027eab2b37b901476e9a /src/libsyntax/parse
parentf9fc49c06e5c71a8d63d6120e1a92b6445fb501d (diff)
parent7a07f2a78092b3381d44a86330eb2de364aafb95 (diff)
downloadrust-b74208bc12390b168e4a342de27d806639d89ffe.tar.gz
rust-b74208bc12390b168e4a342de27d806639d89ffe.zip
auto merge of #17669 : nikomatsakis/rust/multidispatch, r=pcwalton
Implement multidispatch and conditional dispatch. Because we do not attempt to preserve crate concatenation, this is a backwards compatible change. This is not yet fully integrated into method dispatch, so "UFCS"-style wrappers must be used to take advantage of the new features (see the run-pass tests).

cc #17307 (multidispatch)
cc #5527 (trait reform -- conditional dispatch)

Because we no longer preserve crate concatenability, this deviates slightly from what was specified in the RFC. The motivation for this change is described in [this blog post](http://smallcultfollowing.com/babysteps/blog/2014/09/30/multi-and-conditional-dispatch-in-traits/). I will post an amendment to the RFC in due course but do not anticipate great controversy on this point -- particularly as the RFCs more important features (e.g., conditional dispatch) just don't work without the change.
Diffstat (limited to 'src/libsyntax/parse')
0 files changed, 0 insertions, 0 deletions