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

View file

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

View file

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