|
56 | 56 | #![allow(deprecated)]
|
57 | 57 | #![deny(missing_docs)]
|
58 | 58 |
|
| 59 | +use std::borrow::Cow; |
59 | 60 | use std::collections::{hash_map, HashMap};
|
60 | 61 | use std::env;
|
61 | 62 | use std::ffi::{OsStr, OsString};
|
@@ -3040,24 +3041,24 @@ impl Build {
|
3040 | 3041 | prefixes.first().map(|prefix| *prefix))
|
3041 | 3042 | }
|
3042 | 3043 |
|
3043 |
| - fn get_target(&self) -> Result<String, Error> { |
3044 |
| - match self.target { |
3045 |
| - Some(ref t) => Ok((*t).to_string()), |
3046 |
| - None => Ok(self.getenv_unwrap("TARGET")?), |
| 3044 | + fn get_target(&self) -> Result<Cow<str>, Error> { |
| 3045 | + match &self.target { |
| 3046 | + Some(t) => Ok(Cow::Borrowed(&t)), |
| 3047 | + None => Ok(Cow::Owned(self.getenv_unwrap("TARGET")?)), |
3047 | 3048 | }
|
3048 | 3049 | }
|
3049 | 3050 |
|
3050 |
| - fn get_host(&self) -> Result<String, Error> { |
| 3051 | + fn get_host(&self) -> Result<Cow<str>, Error> { |
3051 | 3052 | match &self.host {
|
3052 |
| - Some(h) => Ok((**h).to_string()), |
3053 |
| - None => Ok(self.getenv_unwrap("HOST")?), |
| 3053 | + Some(h) => Ok(Cow::Borrowed(&h)), |
| 3054 | + None => Ok(Cow::Owned(self.getenv_unwrap("HOST")?)), |
3054 | 3055 | }
|
3055 | 3056 | }
|
3056 | 3057 |
|
3057 |
| - fn get_opt_level(&self) -> Result<String, Error> { |
| 3058 | + fn get_opt_level(&self) -> Result<Cow<str>, Error> { |
3058 | 3059 | match &self.opt_level {
|
3059 |
| - Some(ol) => Ok((**ol).to_string()), |
3060 |
| - None => Ok(self.getenv_unwrap("OPT_LEVEL")?), |
| 3060 | + Some(ol) => Ok(Cow::Borrowed(&ol)), |
| 3061 | + None => Ok(Cow::Owned(self.getenv_unwrap("OPT_LEVEL")?)), |
3061 | 3062 | }
|
3062 | 3063 | }
|
3063 | 3064 |
|
|
0 commit comments