Skip to content
This repository was archived by the owner on Mar 1, 2019. It is now read-only.

Commit de51775

Browse files
committed
Fix compilation with rustc 1.25.0-nightly (4e3901d35 2018-01-23)
rustc_driver::get_args is no more, see rust-lang/rust#47661.
1 parent e0fa5b0 commit de51775

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

src/lib.rs

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,32 @@ extern crate rustc_trans_utils;
1010
extern crate syntax;
1111

1212
use rustc::middle::cstore::CrateStore;
13-
use rustc::session::Session;
13+
use rustc::session::{Session, early_error};
1414
use rustc::session::config::{self, ErrorOutputType, Input};
1515
use rustc_trans_utils::trans_crate::TransCrate;
1616
use rustc_driver::driver::CompileController;
17-
use rustc_driver::{run_compiler, CompilerCalls, RustcDefaultCalls, Compilation, enable_save_analysis, get_args};
17+
use rustc_driver::{run_compiler, CompilerCalls, RustcDefaultCalls, Compilation, enable_save_analysis};
1818
use syntax::ast;
1919

20+
use std::env;
2021
use std::path::PathBuf;
2122
use std::process;
2223

2324
pub fn run() {
2425
env_logger::init().unwrap();
26+
let result = rustc_driver::run(|| {
27+
let args = env::args_os().enumerate()
28+
.map(|(i, arg)| arg.into_string().unwrap_or_else(|arg| {
29+
early_error(ErrorOutputType::default(),
30+
&format!("Argument {} is not valid Unicode: {:?}", i, arg))
31+
}))
32+
.collect::<Vec<_>>();
2533

26-
let result = rustc_driver::run(|| run_compiler(&get_args(),
27-
&mut ShimCalls,
28-
None,
29-
None));
34+
run_compiler(&args,
35+
&mut ShimCalls,
36+
None,
37+
None)
38+
});
3039
process::exit(result as i32);
3140
}
3241

0 commit comments

Comments
 (0)