Looks like ~~:z returns True on directories now: cygwin> perl6-p t/spec/S16-filehandles/filetest.t 1..43 ok 1 - file test from before spec revision 27503 is error ok 2 - ~~:d returns true on directories ok 3 - can :d-test against non-existing dir and live ok 4 - can :d-test against non-existing dir and return false ok 5 - ~~:f returns true on files ok 6 - ~~:e returns true on files ok 7 - ~~:e returns true on directories ok 8 - ~~:r returns true on readable files ok 9 - ~~:w returns true on writable files ok 10 - # SKIP win32 doesn't have ~~:x ok 11 - # SKIP win32 doesn't have ~~:x ok 12 - ~~:f returns false on directories ok 13 - ~~:r returns true on a readable directory ok 14 - ~~:d returns false on non-existent directories ok 15 - ~~:r returns false on non-existent directories ok 16 - ~~:w returns false on non-existent directories ok 17 - ~~:x returns false on non-existent directories ok 18 - ~~:f returns false on non-existent directories ok 19 - ~~:f returns false on non-existent files ok 20 - ~~:r returns false on non-existent files ok 21 - ~~:w returns false on non-existent files ok 22 - ~~:x returns false on non-existent files ok 23 - ~~:f returns false on non-existent files ok 24 - ~~:s returns size on existent files ok 25 - ~~:s returns false on non-existent files ok 26 - ~~:z returns false on existent files ok 27 - ~~:z returns false on non-existent files ok 28 - ~~:z returns false on directories ok 29 - ~~:z returns true for an empty file ok 30 - # SKIP ~~:M/~~:C/~~:A not working on Win32 yet ok 31 - # SKIP ~~:M/~~:C/~~:A not working on Win32 yet ok 32 - # SKIP ~~:M/~~:C/~~:A not working on Win32 yet ok 33 - # SKIP ~~:M/~~:C/~~:A not working on Win32 yet ok 34 - # SKIP ~~:M/~~:C/~~:A not working on Win32 yet ok 35 - # SKIP ~~:M/~~:C/~~:A not working on Win32 yet ok 36 - # SKIP ~~:M/~~:C/~~:A not working on Win32 yet ok 37 - # SKIP ~~:M/~~:C/~~:A not working on Win32 yet ok 38 - # SKIP ~~:M/~~:C/~~:A not working on Win32 yet ok 39 - f(...) works ok 40 - - f(...) does not call the ~~:f filetest ok 41 - - f(...) does not call the ~~:f filetest ok 42 - can :l-test against non-existing file and live ok 43 - ~~:l returns false on non-existent files
I'm closing this ticket now.