rust/src/test
bors abaa9344d4 Auto merge of #56805 - mikeyhew:stabilize-pin-as-receiver, r=nikomatsakis
Stabilize `Rc`, `Arc` and `Pin` as method receivers

Replaces #55880
Closes  #55786
r? @nikomatsakis
cc @withoutboats @cramertj

This lets you write methods using `self: Rc<Self>`, `self: Arc<Self>`, `self: Pin<&mut Self>`, `self: Pin<Box<Self>`, and other combinations involving `Pin` and another stdlib receiver type, without needing the `arbitrary_self_types`. Other user-created receiver types can be used, but they still require the feature flag to use.

This is implemented by introducing a new trait, `Receiver`, which the method receiver's type must implement if the `arbitrary_self_types` feature is not enabled. To keep composed receiver types such as `&Arc<Self>` unstable, the receiver type is also required to implement `Deref<Target=Self>` when the feature flag is not enabled.

This lets you use `self: Rc<Self>` and `self: Arc<Self>` in stable Rust, which was not allowed previously. It was agreed that they would be stabilized in #55786. `self: Pin<&Self>` and other pinned receiver types do not require the `arbitrary_self_types` feature, but they cannot be used on stable because `Pin` still requires the `pin` feature.
2018-12-22 01:42:25 +00:00
..
auxiliary
codegen Auto merge of #56642 - nikic:llvm-6, r=alexcrichton 2018-12-17 04:18:14 +00:00
codegen-units Various minor/cosmetic improvements to code 2018-12-07 23:53:34 +00:00
compile-fail Auto merge of #56160 - oli-obk:const_fn_let, r=nikomatsakis 2018-12-18 14:21:07 +00:00
debuginfo Auto merge of #54125 - varkor:less-conservative-uninhabitedness-check, r=nikomatsakis 2018-12-20 22:04:21 +00:00
incremental std: Depend directly on crates.io crates 2018-12-11 21:08:22 -08:00
mir-opt Auto merge of #54125 - varkor:less-conservative-uninhabitedness-check, r=nikomatsakis 2018-12-20 22:04:21 +00:00
pretty Reintroduce special pretty-printing for $crate when it's necessary for proc macros 2018-12-19 23:17:54 +03:00
run-fail Fix two run-fail tests for asmjs 2018-11-04 18:50:57 +01:00
run-fail-fulldeps
run-make Rollup merge of #56014 - euclio:issue-21335, r=nagisa 2018-12-01 01:05:50 +08:00
run-make-fulldeps Rollup merge of #56947 - hsivonen:neon, r=alexcrichton 2018-12-19 11:47:20 +01:00
run-pass Auto merge of #56805 - mikeyhew:stabilize-pin-as-receiver, r=nikomatsakis 2018-12-22 01:42:25 +00:00
run-pass-fulldeps Auto merge of #56502 - Zoxc:hir-func, r=eddyb 2018-12-07 20:04:06 +00:00
run-pass-valgrind std: Depend directly on crates.io crates 2018-12-11 21:08:22 -08:00
rustdoc Auto merge of #55798 - GuillaumeGomez:version-display-associated-const, r=QuietMisdreavus 2018-12-21 01:58:16 +00:00
rustdoc-js Improve filter test 2018-12-03 23:05:09 +01:00
rustdoc-ui Rollup merge of #56689 - QuietMisdreavus:rustdoc-lint-group, r=pnkfelix 2018-12-19 11:47:07 +01:00
rustfix
ui Auto merge of #56805 - mikeyhew:stabilize-pin-as-receiver, r=nikomatsakis 2018-12-22 01:42:25 +00:00
ui-fulldeps Move some tests from ui-fulldeps to ui 2018-12-09 19:56:30 +03:00
COMPILER_TESTS.md rustc-guide has moved 2018-11-26 15:03:13 -06:00