diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2017-07-20T11·32+0200 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2017-07-20T11·50+0200 |
commit | c94f3d5575d7af5403274d1e9e2f3c9d72989751 (patch) | |
tree | d6a302d585ed8f38a8a8d959b74bee44b7d77370 /src/libexpr/get-drvs.cc | |
parent | 57a30e101b36a064f09619bf4a3f0b8a3fdcdcad (diff) |
nix-shell: Use bashInteractive from <nixpkgs>
This adds about 0.1s to nix-shell runtime in the case where bashInteractive already exists. See discussion at https://github.com/NixOS/nixpkgs/issues/27493.
Diffstat (limited to 'src/libexpr/get-drvs.cc')
-rw-r--r-- | src/libexpr/get-drvs.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/libexpr/get-drvs.cc b/src/libexpr/get-drvs.cc index b7e16de7fa4e..66689e3e889f 100644 --- a/src/libexpr/get-drvs.cc +++ b/src/libexpr/get-drvs.cc @@ -267,15 +267,14 @@ static bool getDerivation(EvalState & state, Value & v, } -bool getDerivation(EvalState & state, Value & v, DrvInfo & drv, +std::experimental::optional<DrvInfo> getDerivation(EvalState & state, Value & v, bool ignoreAssertionFailures) { Done done; DrvInfos drvs; getDerivation(state, v, "", drvs, done, ignoreAssertionFailures); - if (drvs.size() != 1) return false; - drv = drvs.front(); - return true; + if (drvs.size() != 1) return {}; + return std::move(drvs.front()); } |