Juventus have confirmed the signing of Danilo from Manchester City.
The agreement sees City full-back Danilo, 28, move in the opposite direction for a fee of £34.1m, the Brazilian signing a five-year contract with the Serie A side.
Cancelo, 25, joined Juventus from Valencia for £35m in 2018 after a season on loan at Inter Milan.
City signed Danilo from Real Madrid for £26.5m in 2017, with the Brazilian making 22 league starts in 60 appearances for the Blues across all competitions.
He has been involved in back-to-back Premier League title wins under manager Pep Guardiola but has rarely been viewed as a first choice.