Dot notation in Ada 2005
- From: Philippe Tarroux <philippe.tarroux@xxxxxxxx>
- Date: Fri, 19 May 2006 12:14:05 +0200
I am testing some features of the new Ada 2005 version. Here a simple problem that seems to me rather a gnat bug than a limitation of the norm. With the code:
------
package Objs is
type Point is tagged null record;
end Objs;
------
package Objs.ext_objs is
type New_Point is new Point With private;
function X (P : New_Point) return Integer;
private
type New_Point is new Point with record
X1, Y1 : Integer := 0;
end record;
end Objs.ext_objs;
------
package body Objs.Ext_Objs is
function X (P : New_Point) return Integer is
begin
return P.X1;
end X;
procedure Test ( A : Integer; Y : Integer) is
begin
null;
end Test;
procedure Draw (A : Integer; P : New_Point) is
begin
Test (A, P.X); -- PROBLEM HERE
end Draw;
end Objs.Ext_Objs;
i get a compilation error ("no selector X for private type P") when P.X is not the first argument of the function Test.
It seems to me a rather strange behavior.
Some explanation?
Philippe Tarroux
.
- Follow-Ups:
- Re: Dot notation in Ada 2005
- From: Martin Carlisle
- Re: Dot notation in Ada 2005
- Prev by Date: Re: C++ from Ada, again
- Next by Date: Re: C++ from Ada, again
- Previous by thread: C++ from Ada, again
- Next by thread: Re: Dot notation in Ada 2005
- Index(es):
Relevant Pages
|
|