Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking issue for RFC PR 385 - module system cleanup #18219

Closed
nrc opened this issue Oct 22, 2014 · 10 comments
Closed

Tracking issue for RFC PR 385 - module system cleanup #18219

nrc opened this issue Oct 22, 2014 · 10 comments
Assignees
Labels
B-RFC-approved Blocker: Approved by a merged RFC but not yet implemented. P-medium Medium priority
Milestone

Comments

@nrc
Copy link
Member

nrc commented Oct 22, 2014

  • Remove the ordering requirement for mod, extern crate, and other items;
  • allow extern crate in non-module blocks;
  • allow pub extern crate.
@nrc nrc added I-nominated B-RFC-approved Blocker: Approved by a merged RFC but not yet implemented. labels Oct 22, 2014
@nrc
Copy link
Member Author

nrc commented Oct 22, 2014

These three are backwards compatible (so shouldn't block 1.0), however, the first in particular is a wart, so I think we'd be happy to see that fixed pre-1.0 at least.

@nrc
Copy link
Member Author

nrc commented Oct 22, 2014

@pnkfelix
Copy link
Member

P-high, not 1.0 (though some would be happy to see a PR for this sooner).

@pnkfelix pnkfelix added P-medium Medium priority and removed I-nominated labels Oct 23, 2014
@pnkfelix pnkfelix added this to the 1.0 milestone Oct 23, 2014
@aturon
Copy link
Member

aturon commented Oct 27, 2014

@pnkfelix The message from the triage meeting says not 1.0, but the issue was put on the milestone anyway?

@aturon
Copy link
Member

aturon commented Jan 8, 2015

Nominating. From previous discussion it's not clear what milestone this belongs on, if any.

@pnkfelix
Copy link
Member

pnkfelix commented Jan 8, 2015

Removing the ordering restriction would be nice for 1.0 (not 1.0-beta). The other two bullets are not necessary for 1.0.

1.0 milestone.

bors added a commit that referenced this issue Jan 21, 2015
This implements an important part of RFC PR 385 (see #18219).
bors added a commit that referenced this issue Jan 21, 2015
This implements an important part of RFC PR 385 (see #18219).
bors added a commit that referenced this issue Jan 21, 2015
This implements an important part of RFC PR 385 (see #18219).
@nrc
Copy link
Member Author

nrc commented Apr 2, 2015

Note to self: work out what still needs to be done

@nikomatsakis
Copy link
Contributor

@nrc

#![feature(core)]

pub extern crate core;

fn main() { }

compiles on play: http://is.gd/RZrZ5X

@nrc
Copy link
Member Author

nrc commented Apr 9, 2015

So, pub extern crate appears to work. extern crate in non-module blocks only seems to partially work. E.g.,:

#![feature(core)]

fn main () {
    extern crate core;
    let _ = core::cell::UnsafeCell::new(42i32);
}

Does not give an error. But, use core::cell; does not work - use expressions don't seem to be able to see the crate brought into scope.

The ordering restrictions are gone.

I'll close this issue an open one for the extern crate bug.

@nrc nrc closed this as completed Apr 9, 2015
@glaebhoerl
Copy link
Contributor

(which is #24219 for anyone else wondering)

lnicola pushed a commit to lnicola/rust that referenced this issue Oct 8, 2024
…Veykril

fix: Fix bootstrap error message being incorrect

precedence ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B-RFC-approved Blocker: Approved by a merged RFC but not yet implemented. P-medium Medium priority
Projects
None yet
Development

No branches or pull requests

5 participants