SandboxIR's SwitchInst CaseHandle was relying on LLVM IR's SwitchInst::CaseHandleImpl template, which may call private functions of SandboxIR's SwitchInst. This creates a dependency cycle which is against the design principles of Sandbox IR. The issue was exposed by: https://github.com/llvm/llvm-project/pull/166842 Thanks to @aengelke for raising the issue.