- 
                            Key: CORBA26-77
- 
                            Legacy Issue Number: 4577
- 
                            Status: closed
- 
                            Source: Humboldt-Universitaet ( Martin von Loewis)
- 
                            Summary:After reading the definition of the import declaration, it is not at 
 all clear what its effect is.Suppose the "well-known set of IDL specifications" consists of module A { {long a;}
 module B {
 interface C {
 struct S; 
 };
 };
 };Now consider the import statement import A::B; According to the draft, "Names that occur in IDL declarations within 
 the importing specification may be resolved to definitions in imported
 scopes." What is a "Name" in this context? Is it an <identifier>, or
 is it a "<scoped_name>"?It is unclear whether in this context, the definition interface D : C {}; would be correct or not. The spec may be interpreted that name "C" 
 resolves to ::A::B::C, i.e. that the name "C" is appended to the
 imported scopes, forming a fully-scoped name. If that is the intended
 meaning, the text should explain how to deal with conflicts.Alternatively, given the text "Imported IDL name scopes exist in the 
 same space as names defined in subsequent declarations in the
 importing specification." would suggest thatinterface D : B::C {}; is well-formed: "B" would be the name of the imported scope, so it 
 exists in the same space "D", and can thus be used for qualifications.Furthermore, the text could be understand to mean that interface D : ::A::B::C {}; is allowed. The "definition in the imported scope" has the name 
 "A::B::C", so this is the name to be used in the importing
 specification.
- 
                            Reported: CORBA 2.5 — Mon, 17 Sep 2001 04:00 GMT
- 
                            Disposition: Resolved — CORBA 2.6.1
- 
                            Disposition Summary:see below 
- 
                            Updated: Fri, 6 Mar 2015 20:58 GMT