Affects Version/s: Minecraft 13w41b, Minecraft 13w48b, Minecraft 14w21b, Minecraft 1.8.4, Minecraft 1.8.9, Minecraft 16w05a
Fix Version/s: Minecraft 16w32b
Windows XP 32-bit, Java 7
When you spawn in a villager with no "Count" tag in buy/buyB, you are able to trade with that villager without costing anything. You will need to put the item in the trade slots, but when completing the trade, the items aren't taken.
It seems the "Count" tag is defaulting to 0, although it should really be defaulting to 1. Mods reading this, if you flag it as "working as intended" I understand since spawning in a villager with a "Count:0" tag results in the same thing.
Anyways, here is the commands I used to test this. You will need to put them into a command block:
Edit: Updated command to 16w05a
EDIT AS OF 13w03b:
Now it allows the trade, doesn't eat the item, but the item that it gives is a ghost item. When updated, the item just disappears. I have the villager trading a potion and it just disappears when you try to drink it.
I've also tried giving the potion a count tag of 1 and the same thing happens. (if I could figure out how to cross through this I would): I put the count in the wrong place when testing this. If there is a Count:1 in the correct place in the sell tag, the item is a real item. Otherwise, it is a ghost item. This is a similar thing as the buy tag.
It does count as a trade; the villager eventually won't give any more trades and give xp for each trade done, but really there is nothing happening except that free xp and new trades.