File tree Expand file tree Collapse file tree 2 files changed +8
-3
lines changed Expand file tree Collapse file tree 2 files changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -3697,14 +3697,21 @@ static unsigned conformanceRequirementIndex(
36973697 if (req.getKind () != RequirementKind::Conformance)
36983698 continue ;
36993699
3700+ // This is an ABI compatibility hack for noncopyable generics.
3701+ // We should have really been skipping marker protocols here all along,
3702+ // but it's too late now, so skip Copyable and Escapable specifically.
3703+ if (req.getProtocolDecl ()->getInvertibleProtocolKind ())
3704+ continue ;
3705+
37003706 if (req.getFirstType ()->isEqual (entry.first ) &&
37013707 req.getProtocolDecl () == entry.second )
37023708 return result;
37033709
37043710 ++result;
37053711 }
37063712
3707- llvm_unreachable (" Conformance access path step is missing from requirements" );
3713+ llvm::errs () <<" Conformance access path step is missing from requirements" ;
3714+ abort ();
37083715}
37093716
37103717void ASTMangler::appendDependentProtocolConformance (
Original file line number Diff line number Diff line change 22// RUN: %target-swift-frontend -emit-module %S/Inputs/mangle_conformance_access_path_helper.swift -emit-module-path %t/mangle_conformance_access_path_helper.swiftmodule
33// RUN: %target-swift-frontend -emit-silgen %s -I %t | %FileCheck %s
44
5- // XFAIL: noncopyable_generics
6-
75import mangle_conformance_access_path_helper
86
97struct GG < T : P > { }
You can’t perform that action at this time.
0 commit comments