From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: Victor Porton Newsgroups: comp.lang.ada Subject: Limited object by reference or access argument? Date: Mon, 07 Aug 2017 00:16:34 +0300 Organization: Aioe.org NNTP Server Message-ID: NNTP-Posting-Host: qrWnZLr+FAc2xoElQM2hng.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7Bit X-Complaints-To: abuse@aioe.org User-Agent: KNode/4.14.10 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:47624 Date: 2017-08-07T00:16:34+03:00 List-Id: Suppose we have type World_Type is tagged limited private; type BNode_ID_Handler is abstract tagged limited private; We need to set a bnode handler for a world object. Should the procedure signature be procedure Set_Handler (World: World_Type; Handler: access BNode_ID_Handler'Class); or procedure Set_Handler (World: World_Type; Handler: BNode_ID_Handler'Class); The later can work with limited BNode_ID_Handler type, because tagged and limited types are always passed by reference. I prefer the second one, because with the first procedure signature it is possible to pass an access to an already finalized object what is an error, but want to ask you opinion which of the two procedure signatures is better. -- Victor Porton - http://portonvictor.org