diff --git a/src/common/result.h b/src/common/result.h index 5004596641f..c93b089d5de 100644 --- a/src/common/result.h +++ b/src/common/result.h @@ -35,6 +35,7 @@ class Result : _result(std::move(value)) , _isError(false) { + static_assert(!std::is_same::value, "Bool is not supported as this class overrides the bool operator"); } // TODO: This doesn't work if T and Error are too similar Result(Error error) diff --git a/src/common/vfs.cpp b/src/common/vfs.cpp index 066a36c5c4c..efa0bee7b3a 100644 --- a/src/common/vfs.cpp +++ b/src/common/vfs.cpp @@ -63,7 +63,7 @@ Optional Vfs::modeFromString(const QString &str) return {}; } -Result Vfs::checkAvailability(const QString &path) +Result Vfs::checkAvailability(const QString &path) { #ifdef Q_OS_WIN const auto mode = bestAvailableVfsMode(); @@ -84,7 +84,7 @@ Result Vfs::checkAvailability(const QString &path) #else Q_UNUSED(path); #endif - return true; + return {}; } void Vfs::start(const VfsSetupParams ¶ms) diff --git a/src/common/vfs.h b/src/common/vfs.h index cc45eaa1a91..678d2d39ea1 100644 --- a/src/common/vfs.h +++ b/src/common/vfs.h @@ -100,7 +100,7 @@ class OCSYNC_EXPORT Vfs : public QObject static QString modeToString(Mode mode); static Optional modeFromString(const QString &str); - static Result checkAvailability(const QString &path); + static Result checkAvailability(const QString &path); enum class AvailabilityError {