comp.lang.ada
 help / color / mirror / Atom feed
From: Serge Robyns <serge.robyns@gmail.com>
Subject: Re: accessibility check failed
Date: Sun, 29 Nov 2015 14:40:17 -0800 (PST)
Date: 2015-11-29T14:40:17-08:00	[thread overview]
Message-ID: <726a04c8-f2eb-4f13-b5d9-b48f33ead884@googlegroups.com> (raw)
In-Reply-To: <3d45e3ed-16ca-4018-bf7b-62830acaca03@googlegroups.com>

On Sunday, 29 November 2015 19:03:28 UTC+1, Serge Robyns  wrote:
> I'm facing a "mysterious" accessibility check failed error.

I've managed to resolve my issue.  It does work without using unchecked_access.

However, during my attempts to understand I managed to create a stupid dummy program with 2 versions of implementing a store.  One does not die, the other dies with accessibility error.  I can send a zip to whomever wants to "study" it.

Here is the main specifications with the main differences:

with Abstract_Store; use Abstract_Store;

with Clients; use Clients;
with Clients.DAO; use Clients.DAO;

package Store is

   type T_Store is limited new T_Asbtract_Store with
      record
         Clients : aliased T_Client_Store;
      end record;

   overriding procedure Store_Client
     (Self   : not null access T_Store;
      Client : in              T_Client'Class);

   overriding function Get_Client
     (Self   : not null access T_Store;
      Id     : in              Integer)
      return T_Client'Class;

   type T_Store_2 is new T_Client_Store
     and T_Asbtract_Store with null record;

end Store;

T_Store does not "die" whereas T_Store_2 does on the return of Get_Client.
In the case of T_Store the overriding function for T_Store is just performing a "return Self.Clients.Get_Client (Id);"  In the case of T_Store_2 it does call the function directly through inheritance.

T_Store requires me to write use a lot of "keystrokes" (writing the redirection calls) which I was hoping to save with T_Store_2.

Serge

  parent reply	other threads:[~2015-11-29 22:40 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-29 18:03 accessibility check failed Serge Robyns
2015-11-29 18:37 ` Jeffrey R. Carter
2015-11-29 19:00   ` Serge Robyns
2015-11-29 22:32     ` Jeffrey R. Carter
2015-11-29 22:53       ` Serge Robyns
2015-11-30  2:04         ` Jeffrey R. Carter
2015-11-30 23:22         ` Randy Brukardt
2015-12-01  9:38           ` Serge Robyns
2015-11-29 19:15 ` Dmitry A. Kazakov
2015-11-29 22:40 ` Serge Robyns [this message]
2015-12-01 20:17 ` sbelmont700
  -- strict thread matches above, loose matches on Subject: below --
2014-08-11  2:12 Accessibility " hreba
2014-08-11  5:32 ` Jeffrey Carter
2014-08-11 16:45   ` hreba
2014-08-11 16:55     ` Jeffrey Carter
2014-08-12 11:57       ` hreba
2014-08-11 19:56 ` sbelmont700
2014-08-11 20:17   ` Jeffrey Carter
2014-08-11 20:28     ` sbelmont700
2014-08-11 21:14       ` Jeffrey Carter
replies disabled

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