From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Path: eternal-september.org!reader02.eternal-september.org!aioe.org!5WHqCw2XxjHb2npjM9GYbw.user.gioia.aioe.org.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Possible to recover default value of scalar type? Date: Mon, 14 Dec 2020 17:31:29 +0100 Organization: Aioe.org NNTP Server Message-ID: References: <0c0ddb8e-6a82-473d-8143-f4076242f520n@googlegroups.com> <86r1ntntb3.fsf@stephe-leake.org> <0ded905f-94ac-4470-936c-7f1cb19ac798n@googlegroups.com> <82e629ea-bd59-417a-9185-dd6094e396c1n@googlegroups.com> <570e9d30-0b33-45f0-a9fe-163cc810a770n@googlegroups.com> NNTP-Posting-Host: 5WHqCw2XxjHb2npjM9GYbw.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.5.1 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.9.2 Xref: reader02.eternal-september.org comp.lang.ada:60841 List-Id: On 2020-12-14 16:56, AdaMagica wrote: > Dmitry A. Kazakov schrieb am Montag, 14. Dezember 2020 um 10:38:42 UTC+1: >> procedure Library_Foo (Bar : Baz := Baz'Default_Value) > Suppose type Baz has no default value aspect. Then a call Library_Foo without parameter would use what? The default used by the compiler in this: declare Bar : Baz; begin with an appropriate warning of course. [ It was a language design bug to allow implicitly uninitialized variables in the first place. Declarations like above should have been illegal. ] > A solution could be that the attribute is illegal if there is no aspect. The compiler knows. I would argue that if declare Bar : Baz; begin is legal, then it must be logically equivalent to: declare Bar : Baz := Baz'Default_Value; begin -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de