$ rsync --version | head -n1
rsync version 3.4.4 protocol version 32
$ rsync --filter='.-s '<(:) /tmp/ /tmp/
skipping directory .
$ rsync --version | head -n1
rsync version 3.5.0 protocol version 32
$ rsync --filter='.-s '<(:) /tmp/ /tmp/
rsync: [client] failed to open exclude file /dev/fd/63: No such file or directory (2)
rsync error: error in file IO (code 11) at exclude.c(1719) [client=3.5.0]
This is, of course, a trivialized minimal reproducer. In actual practice the process executed by the process substitution would output a list of paths to exclude.
This is, of course, a trivialized minimal reproducer. In actual practice the process executed by the process substitution would output a list of paths to exclude.