I have made a villager breeder in my survival world, one of those simple ones with four beds around it and where villagers are standing on a fence and the babies drop.
The breeder keeps switching between working and not working. I have given them stacks upon stacks of carrots, but they're not breeding. I'm not sure, but maybe it could be the case that one villager picks up all the carrots? I walk around the breeder and throw them their carrots, but I don't know if some villagers have a higher pickup priority than others.
I've also noticed the fact that villagers try to share food. The problem is: their food drops through the baby hole into the inventory of one of the babies (from when it _did_ work). Maybe one of the villagers is unable to receive enough food?
"If several villagers are next to an item, the same one picks up the item every time. Consequently, in constrained space (test with 1x1x2), the same villager picks up any item dropped. This behavior prevents villagers from sharing food in a one-block space."
Under "Picking up items." about 1/6 of the way down the page.
So, you could either make a breeder where they have more space to move around or you could try throwing them more than 8 stacks of food.
A villager has 8 inventory slots so if you fill up all 8 of the "dominant" villager's slots there should, I presume, be some food left for the other villager.
Now that I know what to look for I can see it happening.
The potatoes I threw them keep going in a loop, up to the right from the left villager, through the right villager, downwards, then back to the left through the right villager then back up towards the left villager.