Merge pull request #6590 from edolstra/fix-noexcept

Fix noexcept violations
This commit is contained in:
Eelco Dolstra 2022-05-30 17:45:44 +02:00 committed by GitHub
commit af23d38019
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 36 additions and 32 deletions

View file

@ -348,7 +348,7 @@
strictDeps = true;
passthru.perl-bindings = with final; currentStdenv.mkDerivation {
passthru.perl-bindings = with final; perl.pkgs.toPerlModule (currentStdenv.mkDerivation {
name = "nix-perl-${version}";
src = self;
@ -378,8 +378,9 @@
enableParallelBuilding = true;
postUnpack = "sourceRoot=$sourceRoot/perl";
};
});
meta.platforms = systems;
};
lowdown-nix = with final; currentStdenv.mkDerivation rec {

View file

@ -161,7 +161,12 @@ protected:
void getFile(const std::string & path,
Callback<std::optional<std::string>> callback) noexcept override
{
try {
checkEnabled();
} catch (...) {
callback.rethrow();
return;
}
auto request(makeRequest(path));

View file

@ -718,13 +718,12 @@ void RemoteStore::registerDrvOutput(const Realisation & info)
void RemoteStore::queryRealisationUncached(const DrvOutput & id,
Callback<std::shared_ptr<const Realisation>> callback) noexcept
{
try {
auto conn(getConnection());
if (GET_PROTOCOL_MINOR(conn->daemonVersion) < 27) {
warn("the daemon is too old to support content-addressed derivations, please upgrade it to 2.4");
try {
callback(nullptr);
} catch (...) { return callback.rethrow(); }
return callback(nullptr);
}
conn->to << wopQueryRealisation;
@ -747,7 +746,6 @@ void RemoteStore::queryRealisationUncached(const DrvOutput & id,
}
}();
try {
callback(std::shared_ptr<const Realisation>(real));
} catch (...) { return callback.rethrow(); }
}