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,4c459ff0adb576bc X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-02-04 09:59:41 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: dewar@gnat.com (Robert Dewar) Newsgroups: comp.lang.ada Subject: Re: Refactoring and Ada Date: 4 Feb 2002 09:59:41 -0800 Organization: http://groups.google.com/ Message-ID: <5ee5b646.0202040959.37f71ade@posting.google.com> References: <3C5AB0B7.9D75D49A@grammatech.com> <3C5E0ED6.E2D52BD3@adaworks.com> NNTP-Posting-Host: 205.232.38.244 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1012845581 32606 127.0.0.1 (4 Feb 2002 17:59:41 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 4 Feb 2002 17:59:41 GMT Xref: archiver1.google.com comp.lang.ada:19596 Date: 2002-02-04T17:59:41+00:00 List-Id: Richard Riehle wrote in message news:<3C5E0ED6.E2D52BD3@adaworks.com>... > Pat Rogers wrote: > > > > I still prefer renames clauses when only one or two > operators need direct > visibility. Use type can be as dangerous as the full > use clause under some circumstances. I find this bad advice, so I would appreciate some further evidence for this rather remarkable claim. By the way, I talked to a never-ever-use-use user of Ada the other day who was appalled to discover that even if you don't use USE clauses, you can have a case where you write a := f (x); where there were no other occurrences of f in the same source file, no USE clauses, and the textual declaration of f was in another unit. This is of course standard in both Ada 83 and Ada 95 (if you don't know how it arises, and always assumed that avoiding use clauses guaranteed that this could not happen, you have always been fooling yourself :-) I often find that people think that avoiding use clauses avoids this, and requires full qualification. In fact in the above example, suppose the only other occurrence of f is in package p, then it is the case that trying to qualify by writing a := p.f (x); is not just unnecessary, but in fact illegal. Implicit declarations often surprise people :-)