rollup merge of #20341: nikomatsakis/impl-trait-for-trait-2
rollup merge of #20341: nikomatsakis/impl-trait-for-trait-2

Conflicts:
	src/librustc/middle/traits/mod.rs
	src/libstd/io/mod.rs
	src/test/run-pass/builtin-superkinds-self-type.rs

ebfull/rand,waynenilsen/rand,arthurprs/rand,achanda/rand,bluss/rand,retep998/rand,GrahamDennis/rand,huonw/rand,shepmaster/rand,bhickey/rand