Skip to content

Commit 02e4027

Browse files
committed
RequirementMachine: Print opaque archetypes using the 'stable' representation
1 parent 07fc64e commit 02e4027

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

lib/AST/RequirementMachine/Symbol.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -658,6 +658,8 @@ void Symbol::dump(llvm::raw_ostream &out) const {
658658

659659
PrintOptions opts;
660660
opts.AlternativeTypeNames = &substitutionNames;
661+
opts.OpaqueReturnTypePrinting =
662+
PrintOptions::OpaqueReturnTypePrintingMode::StableReference;
661663

662664
switch (getKind()) {
663665
case Kind::Name:

test/Generics/opaque_archetype_concrete_requirement.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,5 +77,5 @@ protocol HasRecursiveP {
7777

7878
extension HasRecursiveP where T == DefinesRecursiveP.T {}
7979
// expected-error@-1 {{cannot build rewrite system for generic signature; rule length limit exceeded}}
80-
// expected-note@-2 {{failed rewrite rule is τ_0_0.[HasRecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[concrete: ((((((((((some RecursiveP).T).T).T).T).T).T).T).T).T).T] => τ_0_0.[HasRecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T]}}
80+
// expected-note@-2 {{failed rewrite rule is τ_0_0.[HasRecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[concrete: (((((((((@_opaqueReturnTypeOf("$s37opaque_archetype_concrete_requirement17DefinesRecursivePV1tQrvp", 0) __.T).T).T).T).T).T).T).T).T).T] => τ_0_0.[HasRecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T].[RecursiveP:T]}}
8181

0 commit comments

Comments
 (0)