In the original Pokemon games, there were several Pokemon that required a trade to evolve. Examples are Machoke (to Machamp), Haunter (to Gengar) or Boldore (to Gigalith). Niantic mimicked this behaviour by reducing the candy cost to zero to evolve certain Pokemon to their final evolution. In the original games, it requried you to trade Boldore. Trading Roggenrola (the first in the evolution line) would not evolve anything. How does this work in Pokemon Go, and which Pokemon are affected?
In Pokemon Go, it is a bit different implemented than the original series. I traded a Roggenrola with a friend (so not a Boldore), evolved the Roggenrola myself, and then evolved it freely to Gigalith. So you do not have to trade the form that gets the free evolution. It does not matter if you trade the Roggenrola or Boldore, both get a candy-free Boldore -> Gigalith evolve.
A list of the current Pokemon that have this free evolve after a trade are: