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 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,faeb0c2550699cee X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-12-16 07:07:25 PST Newsgroups: comp.lang.ada Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!feed2.newsreader.com!newsreader.com!newshosting.com!news-xfer1.atl.newshosting.com!uunet!dca.uu.net!ash.uu.net!world!news From: Robert A Duff Subject: Re: controlled initialization User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Sender: news@world.std.com (Mr Usenet Himself) Message-ID: Date: Mon, 16 Dec 2002 15:06:25 GMT Content-Type: text/plain; charset=us-ascii References: <3DFD7B15.9050800@mbank.com.ua> <1040049195.294541@master.nyc.kbcfp.com> NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Organization: The World Public Access UNIX, Brookline, MA Xref: archiver1.google.com comp.lang.ada:31895 Date: 2002-12-16T15:06:25+00:00 List-Id: Hyman Rosen writes: >...In that case, I think the > solution is to make the type limited, so that users can't > initialize with aggregates at all, and you can call the > Init procedure "by hand" in the private code. You don't need to make it limited. Just make it private. Then aggregates can only appear inside the abstraction itself. If the package body can write upon record fields, then there's no point in forbidding it to use aggregates. See also AI-287. - Bob