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

Remove much of the crate file evaluation infrastructure #604

Closed
brson opened this issue Jun 30, 2011 · 3 comments
Closed

Remove much of the crate file evaluation infrastructure #604

brson opened this issue Jun 30, 2011 · 3 comments
Assignees
Labels
A-frontend Area: Compiler frontend (errors, parsing and HIR) C-cleanup Category: PRs that clean code up or issues documenting cleanup.

Comments

@brson
Copy link
Contributor

brson commented Jun 30, 2011

Having a mini scripting language inside the parser is rather undesirable, and some of it's use case will be replaced with the new conditional compilation attributes. Try to remove much of the front::eval code for parsing crate files.

Graydon suggests that leaving const definitions and variable substitutions is 'probably harmless'.

@ghost ghost assigned brson Jun 30, 2011
@graydon
Copy link
Contributor

graydon commented Jun 30, 2011

Other guidelines welcome. I find it difficult to draw a line here. I don't want to have a full shell language in here, but it feels like crates are a "natural" place to do some configuration-management logic. Maybe just conditionalizing by #[cfg()] will be enough. It's almost certain that any real build will have a CM system outside the crate as well, invoking rustc. But huge and non-obvious compiler-argument lists are something from the C world I hope to avoid.

Maybe if the interface between outside CMs and inside rustc is always just "a list of cfg variables" and you can pass that in a file, that's adequate?

Perhaps give rustc a --cfg-file= option. And/or the ability to override with -D foo=bar for cases where you have something against using config files?

@brson
Copy link
Contributor Author

brson commented Jul 1, 2011

I've removed everything that wasn't being used, and that includes the ability to set and evaluate variables. I figure that if the need arises again it is easy to restore.

@brson
Copy link
Contributor Author

brson commented Jul 1, 2011

Graydon, I've continued the discussion of how to merge configuration files into the compilation environment in #612.

brson added a commit that referenced this issue Jul 5, 2011
@brson brson closed this as completed Jul 5, 2011
keeperofdakeys pushed a commit to keeperofdakeys/rust that referenced this issue Dec 12, 2017
Fill in sys/sem.h as well as getitimer and setitimer

struct semun is not implemented and neither is semtimedop.
pdietl pushed a commit to pdietl/rust that referenced this issue Apr 23, 2020
…-fix

Added missing ? to Generics from InherentImpl and TraitImpl
ZuseZ4 pushed a commit to EnzymeAD/rust that referenced this issue Mar 7, 2023
* Fix rematerialization of loop header

* Fix early version tests

* Fix 13 bug
celinval added a commit to celinval/rust-dev that referenced this issue Jun 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-frontend Area: Compiler frontend (errors, parsing and HIR) C-cleanup Category: PRs that clean code up or issues documenting cleanup.
Projects
None yet
Development

No branches or pull requests

2 participants