Bug 27001

Summary: Using alias not in scope for nested class inheritence
Product: [Mono] Compilers Reporter: neil.sculthorpe
Component: C#Assignee: Marek Safar <masafa>
Status: RESOLVED FIXED    
Severity: normal CC: mono-bugs+mono
Priority: ---    
Version: 3.10.0   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Tags: Is this bug a regression?: ---
Last known good build:

Description neil.sculthorpe 2015-02-12 12:47:27 UTC
The following code is rejected by the Mono compiler, with the error "The type or namespace name `X' could not be found.":

namespace N {

  using X = A.B;

  class A {

     public class B {}

     public class C : X {}
  }
}

I think it is meant to be in scope.  For example, a similar program where X is used instead inside the body of class C, does compile successfully:

namespace N {

  using X = A.B;

  class A {

     public class B {}

     public class C { X x; }
  }
}

I've tested this using Mono 3.2.8 and Mono 3.10.0
Comment 1 Marek Safar 2015-02-13 08:38:08 UTC
Fixed in master