**Describe the bug**
`sync` here is a pointer to a global `sync` function implicitly converted to a bool:

https://github.com/ClickHouse/ClickHouse/blob/624ccd5206a7be7c8a56f2f7590e13d57a074008/src/Databases/DatabaseReplicated.cpp#L797

**How to reproduce**
compile `master` or `v22.8.4.7-lts` with warnings enabled

**Error message and/or stacktrace**


{
    std::lock_guard lock{mutex};
    if (cluster)
        return cluster;
    
    if (is_readonly)
        return cluster;
    try
    {
        
        
        
        
        
        
        cluster = getClusterImpl();
    }
    catch (...)
    {
        tryLogCurrentException(log);
    }
    return cluster;
}
void DatabaseReplicated::setCluster(ClusterPtr && new_cluster)
{
    std::lock_guard lock{mutex};
    cluster = std::move(new_cluster);
}
ClusterPtr DatabaseReplicated::getClusterImpl() const