]> git.lizzy.rs Git - rust.git/commitdiff
Auto merge of #54671 - petrochenkov:extpre2015, r=nikomatsakis
authorbors <bors@rust-lang.org>
Wed, 17 Oct 2018 01:59:28 +0000 (01:59 +0000)
committerbors <bors@rust-lang.org>
Wed, 17 Oct 2018 01:59:28 +0000 (01:59 +0000)
resolve: Scale back hard-coded extern prelude additions on 2015 edition

https://github.com/rust-lang/rust/pull/54404 stabilized `feature(extern_prelude)` on 2015 edition, including the hard-coded parts not passed with `--extern`.
First of all, I'd want to confirm that this is intended stabilization, rather than a part of the "extended beta" scheme that's going to be reverted before releasing stable.
(EDIT: to clarify - this is a question, I'm \*asking\* for confirmation, rather than give it.)

Second, on 2015 edition extern prelude is not so fundamentally tied to imports and is a mere convenience, so this PR scales them back to the uncontroversial subset.
The "uncontroversial subset" means that if libcore is injected it brings `core` into prelude, if libstd is injected it brings `std` and `core` into prelude.
On 2015 edition this can be implemented through the library prelude (rather than hard-coding in the compiler) right now, I'll do it in a follow-up PR.

UPDATE: The change is done for both 2015 and 2018 editions now as discussed below.

Closes https://github.com/rust-lang/rust/issues/53166

1  2 
src/librustc/session/mod.rs
src/librustc/ty/context.rs
src/librustc/ty/item_path.rs
src/librustc/ty/mod.rs
src/librustc_driver/driver.rs

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge