This rule does not apply to
{x,y,z} alternations in the
glob pattern. The documentation I could find isn't great on this point, and its language is generally in terms of filenames. But I'm 99% sure it's not a bug. I've seen tons of uses of
glob in this way on PM!
BTW, the same behavior should happen in your shell (though it may be a different glob under the hood).
$ ls {x,y,z}
ls: x: No such file or directory
ls: y: No such file or directory
ls: z: No such file or directory
First,
glob expands
{...} and then it checks the filesystem to expand
* and
? and the resulting pattern(s).
$ ls *{p,q,r}
ls: *p: No such file or directory
ls: *q: No such file or directory
ls: *r: No such file or directory