From bff51642eb5b329a8821f26027b38097f74793d1 Mon Sep 17 00:00:00 2001 From: AlekseyTs Date: Fri, 14 Feb 2020 18:47:05 -0800 Subject: [PATCH] Allow structures to implement nested interfaces as we do for classes. (#41711) Fixes #41501. --- .../Source/SourceNamedTypeSymbol_Bases.cs | 8 ++--- .../CSharp/Test/Symbol/Symbols/TypeTests.cs | 32 +++++++++++++++++++ 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/src/Compilers/CSharp/Portable/Symbols/Source/SourceNamedTypeSymbol_Bases.cs b/src/Compilers/CSharp/Portable/Symbols/Source/SourceNamedTypeSymbol_Bases.cs index 9d2e7f43a2f..6e4af9daf05 100644 --- a/src/Compilers/CSharp/Portable/Symbols/Source/SourceNamedTypeSymbol_Bases.cs +++ b/src/Compilers/CSharp/Portable/Symbols/Source/SourceNamedTypeSymbol_Bases.cs @@ -571,12 +571,12 @@ private ImmutableArray MakeAcyclicInterfaces(ConsList result = isClass ? null : ArrayBuilder.GetInstance(); + ArrayBuilder result = isInterface ? ArrayBuilder.GetInstance() : null; foreach (var t in declaredInterfaces) { - if (!isClass) + if (isInterface) { if (BaseTypeAnalysis.TypeDependsOn(depends: t, on: this)) { @@ -611,7 +611,7 @@ private ImmutableArray MakeAcyclicInterfaces(ConsList