Currently, when a source returns nothing this is just silently treated as "there are no users in this source". This makes sense in theory, but in practice this almost always means that the source was misconfigured. A user may not realize this, especially in the case of LDAP, where configuration is quite complex.
We should print a warning when this happens (so that dry runs give users information), and perhaps entirely abort syncs like this - after all, they will simply delete all users, which is most likely not intended.