diff options
| author | Joshua Nelson <jyn514@gmail.com> | 2020-07-02 08:07:56 -0400 |
|---|---|---|
| committer | Joshua Nelson <jyn514@gmail.com> | 2020-07-27 23:11:17 -0400 |
| commit | d34a1b0c1b4b22cc61b5956c07d89517bf278af8 (patch) | |
| tree | d9b3495c38e511e5ba4eab67be47c0eb2075377f | |
| parent | ac48e62db85e6db4bbe026490381ab205f4a614d (diff) | |
| download | rust-d34a1b0c1b4b22cc61b5956c07d89517bf278af8.tar.gz rust-d34a1b0c1b4b22cc61b5956c07d89517bf278af8.zip | |
Don't duplicate builder code
- Add Builder::new_internal
| -rw-r--r-- | src/bootstrap/builder.rs | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs index c1e56347ab1..c1c3c2f3ea7 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs @@ -501,16 +501,7 @@ impl<'a> Builder<'a> { _ => return None, }; - let builder = Builder { - build, - top_stage: build.config.stage.unwrap_or(2), - kind, - cache: Cache::new(), - stack: RefCell::new(Vec::new()), - time_spent_on_dependencies: Cell::new(Duration::new(0, 0)), - paths: vec![], - }; - + let builder = Self::new_internal(build, kind, vec![]); let builder = &builder; let mut should_run = ShouldRun::new(builder); for desc in Builder::get_step_descriptions(builder.kind) { @@ -535,6 +526,18 @@ impl<'a> Builder<'a> { Some(help) } + fn new_internal(build: &Build, kind: Kind, paths: Vec<PathBuf>) -> Builder<'_> { + Builder { + build, + top_stage: build.config.stage.unwrap_or(2), + kind, + cache: Cache::new(), + stack: RefCell::new(Vec::new()), + time_spent_on_dependencies: Cell::new(Duration::new(0, 0)), + paths, + } + } + pub fn new(build: &Build) -> Builder<'_> { let (kind, paths) = match build.config.cmd { Subcommand::Build { ref paths } => (Kind::Build, &paths[..]), @@ -550,15 +553,7 @@ impl<'a> Builder<'a> { Subcommand::Format { .. } | Subcommand::Clean { .. } => panic!(), }; - Builder { - build, - top_stage: build.config.stage.unwrap_or(2), - kind, - cache: Cache::new(), - stack: RefCell::new(Vec::new()), - time_spent_on_dependencies: Cell::new(Duration::new(0, 0)), - paths: paths.to_owned(), - } + Self::new_internal(build, kind, paths.to_owned()) } pub fn execute_cli(&self) { |
