This is very similar to #4102, but for general marker expressions. For example, if a resolver state was forked via a dependency specification like quux ; sys_platform == "linux", and then we come across a dependency specification like foo ; sys_platform == "windows", then we should ignore that dependency entirely in that specific fork of the resolver because it can never happen.