-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
issue 1296: implement #[nolink]; deprecate #[link_name = ""] #1309
Conversation
…emove empty link_name. Can't remove them from stdlib until the snapshotted compiler supports #[nolink].
This looks great so far. Thanks! |
I have a question. Cstore::add_used_library() returns false if a library has already been added by another module. Currently, creader::visit_item() returns early if this is the case, skipping the link_args section. This will change if I rework it to address #1295 as well. I'm thinking that if two modules specify a library, it's risky to let the second one specify link_args -- they may duplicate or conflict with the first module's link_args. So it probably should throw an error if link_args are specified for a redundant library, or at least generate a warning. Thoughts? |
…same lib, and second has link_args. I think it should undefined to have multiple modules that link in the same library, but provide different link arguments. Unfortunately we don't track link_args by module -- they are just appended as discovered into the crate store -- but for now, it should be an error to provide link_args on a module that's already been included (with or without link_args).
Either a warning or error if two native modules with the same name specify different link_args sounds reasonable to me. |
Thanks, brson, this was fun. :) |
The Is |
These are the last remaining platform intrinsics necessary for portable-simd.
* Remove everything related to DocContext * Remove everything about rustdoc Options * remove everything related to rustdoc cache * clean up markdown * remove clean, fold, and visit from librustdoc * remove config, core, lint * Cull cargo deps from librustdoc
The #[link_name = ""] attributes in the standard library will need to be removed later, after new compiler snapshots are generated; I've left fixme notes to take care of that later.