[Issue 19327] New: case where a call to a static method is not allowed when located in a non static method
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Tue Oct 23 11:56:44 UTC 2018
    
    
  
https://issues.dlang.org/show_bug.cgi?id=19327
          Issue ID: 19327
           Summary: case where a call to a static method is not allowed
                    when located in a non static method
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Keywords: rejects-valid
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody at puremagic.com
          Reporter: b2.temp at gmx.com
test case:
==========
struct FiberS {
        static auto getThis(){
                return Fiber.getId();
        }
}
struct Proxy(T){
        T* ptr;
    alias getPayload this; // works with "alias ptr this;"
        @property ref auto getPayload() inout return {
                return *ptr ;
        }
    static auto getId(){
        return 1;
    }
}
alias Fiber = Proxy!(FiberS);
struct TcpStream {
   static void test(){
     auto id = Fiber.getThis(); // work here
   }
    void read(ubyte[] data){
           auto id = Fiber.getThis(); // not work here
    }
}
forum discussion:
=================
https://forum.dlang.org/post/tbuygtuzdfweirmlyzuw@forum.dlang.org
--
    
    
More information about the Digitalmars-d-bugs
mailing list