Judging from ranged.cpp, it looks like it should work for items that drop themselves on hit - that is, have a RECOVERY_x flag (but only when it doesn’t break).
It has been a while since I implemented it, so I may be wrong.
And even if it works, the function selection is quite restricted here.