In the new George Miller-directed film Three Thousand Years of Longing, Tilda Swinton plays an academic who buys a glass bottle and soon discovers it contains an ancient djinn, played by Idris Elba. He says he will grant her three wishes, but as a scholar of stories about wish-granting, she's going to need some time to think this through. Meanwhile, he tells her the story of his immortal life, and the many times he's found himself literally imprisoned by love.