Robert Carlyle played a significant role in the film "Yesterday", but he doesn't appear in the credits.
That's obviously not an accidental oversight, so why would it be?
Toward the final act, Jack travels to a faraway house (shot on Shingle Street in Suffolk) to visit an old man. It turns out to be John Lennon, who, in this alternate timeline, became an old man living a modest, peaceful life. He’s played by an uncredited actor, though sleuths have deduced that the man in question is frequent Danny Boyle collaborator Robert Carlyle. But Carlyle may stay uncredited, according to this statement from Universal: “The filmmakers and the actor made an agreement that they would keep the actor’s identity a secret out of respect for the life and memory of John Lennon. We respect their wishes and therefore will not be releasing his name.”
Also additionally from celebretainment:
Danny Boyle explained: "We just talked about this actor and I sent it to him. I knew him, and I knew he was a lifelong Lennon fan. For him, it was a special journey.
"He didn't want to be credited in the cast, in the list, and he didn't want it to be talked about or become a thing or anything like that.
"He just wanted to do it to honor someone that was very important in his imaginative life. He never met him or anything like that, but he played a huge part in his imaginative life."