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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,56ea95ca210cf316,start X-Google-Attributes: gid103376,public From: Alan Paterson Subject: Ambiguity detected - Why? Date: 1996/06/05 Message-ID: <31B590D2.4193@dial.eunet.ch>#1/1 X-Deja-AN: 158671501 content-type: text/plain; charset=us-ascii organization: Not Netscape Communications mime-version: 1.0 newsgroups: comp.lang.ada x-mailer: Mozilla 2.02 (WinNT; I) Date: 1996-06-05T00:00:00+00:00 List-Id: The following results when compiling using DECAda/VMS. We cannot understand why the compiler finds the marked call ambiguous. Can anyone explain it? 1 procedure AMBIGUITY_TEST is 2 -- 3 type T_ENUM is (A, B, C); 4 -- 5 type T_ENUM_ARR is array(POSITIVE range <>) of T_ENUM; 6 -- 7 -- ----------------------------------------------------------------------------- 8 procedure PROC( 9 PARA : in STRING) is 10 begin 11 null; 12 end PROC; 13 -- ----------------------------------------------------------------------------- 14 procedure PROC( 15 PARA : in T_ENUM_ARR) is 16 begin 17 null; 18 end PROC; 19 -- ----------------------------------------------------------------------------- 20 -- 21 begin 22 PROC((A, B)); ...............1 %ADAC-E-AMBIGRSL, (1) Ambiguity detected during overload resolution [LRM 8.7] %ADAC-I-SUPPMEAN, (1) For procedure call PROC the meanings considered are call of procedure body PROC (STRING) declared at line 8 call of procedure body PROC (T_ENUM_ARR) declared at line 14 For array aggregate the result type is any non-limited array or record type 23 PROC("(A, B)"); 24 PROC(T_ENUM_ARR'(A, B)); 25 end AMBIGUITY_TEST; -- Alan Paterson Berne, Switzerland