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(
3697
3697
if (req.getKind () != RequirementKind::Conformance)
3698
3698
continue ;
3699
3699
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
+
3700
3706
if (req.getFirstType ()->isEqual (entry.first ) &&
3701
3707
req.getProtocolDecl () == entry.second )
3702
3708
return result;
3703
3709
3704
3710
++result;
3705
3711
}
3706
3712
3707
- llvm_unreachable (" Conformance access path step is missing from requirements" );
3713
+ llvm::errs () <<" Conformance access path step is missing from requirements" ;
3714
+ abort ();
3708
3715
}
3709
3716
3710
3717
void ASTMangler::appendDependentProtocolConformance (
Original file line number Diff line number Diff line change 2
2
// RUN: %target-swift-frontend -emit-module %S/Inputs/mangle_conformance_access_path_helper.swift -emit-module-path %t/mangle_conformance_access_path_helper.swiftmodule
3
3
// RUN: %target-swift-frontend -emit-silgen %s -I %t | %FileCheck %s
4
4
5
- // XFAIL: noncopyable_generics
6
-
7
5
import mangle_conformance_access_path_helper
8
6
9
7
struct GG < T : P > { }
You can’t perform that action at this time.
0 commit comments