Skip to content

resolve: Scale back hard-coded extern prelude additions on 2015 edition#54671

Merged
bors merged 3 commits intorust-lang:masterfrom
petrochenkov:extpre2015
Oct 17, 2018
Merged

resolve: Scale back hard-coded extern prelude additions on 2015 edition#54671
bors merged 3 commits intorust-lang:masterfrom
petrochenkov:extpre2015

Conversation

@petrochenkov
Copy link
Copy Markdown
Contributor

@petrochenkov petrochenkov commented Sep 29, 2018

#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 #53166

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beta-accepted Accepted for backporting to the compiler in the beta channel. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.

Projects

None yet

Development

Successfully merging this pull request may close these issues.