public class PublicOutputPath extends OutputPath
An example is a cxx_binary with target //some/package:my_binary. As a non-ModernBuildRule, the binary will be placed at buck-out/gen/some/package/my_binary. Without PublicOutputPath, ModernBuildRule outputs are all forced into a unique directory not shared with any other target and so the output would be changed to buck-out/gen/some/package/my_binary__/my_binary. PublicOutputPath just allows MBR to have outputs outside of that rule-specific directory, mostly to maintain previous behavior as things are migrated (but in some limited cases we may keep them as public long-term).
public PublicOutputPath(Path path)