comp.lang.ada
 help / color / mirror / Atom feed
* Ada95 visibility problem
@ 1996-02-23  0:00 Darren C Davenport
       [not found] ` <4gsrn2$9d0@wdl1.wdl.loral.com>
  0 siblings, 1 reply; 2+ messages in thread
From: Darren C Davenport @ 1996-02-23  0:00 UTC (permalink / raw)


I don't understand why a generic child package can't see components of a 
package nested in it's generic parent.  This could be a compiler problem
(GNAT 3.01) but I'm not sure.  Here's an example: (and don't
even think about commenting on style)

-------------------------------------------------------------------
generic
package x is
  package z is
    function c return integer;
  end z;
  use z;
end x;

package body x is
  package body z is
    function c return integer is begin return 1; end c;
  end z;
end x;

generic
package x.d is 
  function d return integer;
end x.d;

package body x.d is
  function d return integer is begin return c; end d;
end x.d;

with x;
package k is new x;

with x.d;
package k.l is new k.d;
-------------------------------------------------------------------

When I compile k-l.ads I get the following:

GNAT Compiler Version 3.01 Copyright 1995 Free Software Foundation, Inc.

Compiling: k-l.ads (source file time stamp: 1996-02-23 20:47:21)

==============Error messages for source file: x-d.adb
     3.   function d return integer is begin return c; end d;
                                                    |
        >>> "c" is not visible
        >>> non-visible declaration at x.ads:5

 3 lines: 2 errors 

Now, if package x is not generic all is well.  What's the difference?
An instantiation of a generic package x should be just as good as
a non-generic package x.

Thanks for any insights.

Darren




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1996-02-26  0:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-02-23  0:00 Ada95 visibility problem Darren C Davenport
     [not found] ` <4gsrn2$9d0@wdl1.wdl.loral.com>
1996-02-26  0:00   ` Gene Ouye

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox