Followers 0

# namespace problem(s)

## 2 posts in this topic

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 , 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
1

##### Share on other sites

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.

0

##### Share on other sites

I've fixed this bug in revision 1562. Thanks.

0

## Create an account

Register a new account