I thought Benedict Cumberbatch did an amazing job as Alan Turing in The Imitation Game.
I also think the question you pose is quite reductive, and double-edged. Consider, when a gay actor plays a straight role, we don’t consider that inappropriate. Why not? Is it perhaps because heterosexuality is accepted as the default, and because heterosexual characters are not reduced to their sexual orientation?
It seems to me the question whether a straight actor can play a gay role presupposes that “gay” is the right adjective here, when a more inclusive society would hold gayness to be just one of many traits applicable to this character, and whether any given actor is best suited to play that role depends on the actor’s ability embody more of those traits, and more convincingly, than any other actor.
The last point suggests the problem is not we need quotas for actors, but perhaps that we need more diverse teams of casting directors.