Skip to content
This repository was archived by the owner on Dec 29, 2022. It is now read-only.

Commit 2b21611

Browse files
authored
Merge pull request #1054 from eddyb/rextern
Reintroduce `extern crate` for non-Cargo dependencies.
2 parents fa922de + df99221 commit 2b21611

File tree

3 files changed

+41
-19
lines changed

3 files changed

+41
-19
lines changed

Cargo.lock

+4-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ build = "build.rs"
1515
[dependencies]
1616
cargo = { git = "https://github.com/rust-lang/cargo", rev = "9311f6d439e09da3ab918397a425be57da13f04a" }
1717
cargo_metadata = "0.6"
18-
clippy_lints = { git = "https://github.com/rust-lang-nursery/rust-clippy", rev = "d6f01f3a6c16d2fc350c36fb704ef68277ef426e", optional = true }
18+
clippy_lints = { git = "https://github.com/rust-lang-nursery/rust-clippy", rev = "183639b70bacf457920694d78a19cefe3565e1c0", optional = true }
1919
env_logger = "0.5"
2020
failure = "0.1.1"
2121
itertools = "0.7.3"
@@ -25,6 +25,7 @@ lazy_static = "1"
2525
log = "0.4"
2626
num_cpus = "1"
2727
racer = { version = "2.1.5", default-features = false }
28+
rand = "0.5.5"
2829
rayon = "1"
2930
rls-analysis = "0.16"
3031
rls-blacklist = "0.1.2"

src/build/rustc.rs

+35-15
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,42 @@
77
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
10-
use getopts;
1110
use log::trace;
1211
use rls_data::Analysis;
1312
use rls_vfs::Vfs;
14-
use rustc::session::config::{self, ErrorOutputType, Input};
15-
use rustc::session::Session;
16-
use rustc_codegen_utils::codegen_backend::CodegenBackend;
17-
use rustc_driver::driver::CompileController;
18-
use rustc_driver::{run, run_compiler, Compilation, CompilerCalls, RustcDefaultCalls};
19-
use rustc_errors;
20-
use rustc_metadata::cstore::CStore;
21-
use rustc_resolve;
22-
use rustc_save_analysis as save;
23-
use rustc_save_analysis::CallbackHandler;
24-
use syntax::ast;
25-
use syntax::source_map::{FileLoader, RealFileLoader};
13+
14+
// FIXME: switch to something more ergonomic here, once available.
15+
// (currently there is no way to opt into sysroot crates w/o `extern crate`)
16+
#[allow(unused_extern_crates)]
17+
extern crate getopts;
18+
#[allow(unused_extern_crates)]
19+
extern crate rustc;
20+
#[allow(unused_extern_crates)]
21+
extern crate rustc_codegen_utils;
22+
#[allow(unused_extern_crates)]
23+
extern crate rustc_driver;
24+
#[allow(unused_extern_crates)]
25+
extern crate rustc_errors;
26+
#[allow(unused_extern_crates)]
27+
extern crate rustc_metadata;
28+
#[allow(unused_extern_crates)]
29+
extern crate rustc_plugin;
30+
#[allow(unused_extern_crates)]
31+
extern crate rustc_resolve;
32+
#[allow(unused_extern_crates)]
33+
extern crate rustc_save_analysis;
34+
#[allow(unused_extern_crates)]
35+
extern crate syntax;
36+
use self::rustc::session::config::{self, ErrorOutputType, Input};
37+
use self::rustc::session::Session;
38+
use self::rustc_codegen_utils::codegen_backend::CodegenBackend;
39+
use self::rustc_driver::driver::CompileController;
40+
use self::rustc_driver::{run, run_compiler, Compilation, CompilerCalls, RustcDefaultCalls};
41+
use self::rustc_metadata::cstore::CStore;
42+
use self::rustc_save_analysis as save;
43+
use self::rustc_save_analysis::CallbackHandler;
44+
use self::syntax::ast;
45+
use self::syntax::source_map::{FileLoader, RealFileLoader};
2646

2747
use crate::build::environment::{Environment, EnvironmentLockFacade};
2848
use crate::build::{BufWriter, BuildResult};
@@ -146,8 +166,8 @@ impl RlsRustcCalls {
146166
}
147167

148168
#[cfg(feature = "clippy")]
149-
fn clippy_after_parse_callback(state: &mut ::rustc_driver::driver::CompileState<'_, '_>) {
150-
use rustc_plugin::registry::Registry;
169+
fn clippy_after_parse_callback(state: &mut rustc_driver::driver::CompileState<'_, '_>) {
170+
use self::rustc_plugin::registry::Registry;
151171

152172
let mut registry = Registry::new(
153173
state.session,

0 commit comments

Comments
 (0)