• Advertisement
Sign in to follow this  

namespace problem(s)

This topic is 1798 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

So first thing is: cannot use array<> inside namespace; using [] works just fine

 

 

namespace nsTest
{
    array<int> arrgh;
};

Result: "Identifier 'array' is not a data type"

 

Second thing found when trying to put one of  our modules inside namespace; either it's me failing in reading docs smile.png, or AS in implementing them. Anyway, code is something like this:

 

// file1
namespace nsTestTwo {
    shared interface nsIface
    {
        nsIface@ parent { get; }
    }
}

// file2
namespace nsTestTwo {
    class nsClass : nsIface
    {
        nsIface@ mommy;
        
        nsClass( nsIface@ parent )
        {
            @this.mommy = parent;
        }
        
        nsIface@ get_parent()
        {
            return( @this.mommy );
        }
    }
}

Fails to compile as well, "Identifier 'nsIface' is not a data type", same thing when i add any func returning nsIface@ to namespace above. If i get rid of namespace only, leaving everything in global scope, everything starts to work. Checked with r1558.

 

EDIT:

Small correction: "file1" is supposed to be used as a header file for other modules.

Edited by Wipe

Share this post


Link to post
Share on other sites
Advertisement

The first one is a current limitation of the namespace feature, in that the compiler doesn't search parent namespaces for matching symbols. I'll be implementing that search soon, until then prepending the symbol with :: tells the compiler to look for the array symbol in the global namespace.

 

The second problem appear to be a bug. I'll look into this.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement