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-Thread: a07f3367d7,93da5260093a8774,start X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news4.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: "Alex R. Mosteo" Newsgroups: comp.lang.ada Subject: Bug with variant derived from interface? Followup-To: comp.lang.ada Date: Wed, 03 Jun 2009 19:09:17 +0200 Message-ID: <78np2hF1ndha3U1@mid.individual.net> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7Bit X-Trace: individual.net yKS2IYg+Tu9gQihpvnHShgXYAIb6GJjWJk7xYxjPlJXnz8z58= Cancel-Lock: sha1:q9mmYuj/ru+kOtuTdLEz4a1CeGI= User-Agent: KNode/4.3.0 pre Xref: g2news2.google.com comp.lang.ada:6188 Date: 2009-06-03T19:09:17+02:00 List-Id: Before reporting a bug to Adacore I'd like to have your opinion. With the following test program I get the error below in both GPL2008/2009. procedure Bugcase is -- type Base is abstract tagged null record; -- This works type Base is interface; -- This does not work. type Derived_Ok (X : Boolean) is new Base with null record; type Derived_Also_Ok (X : Boolean) is new Base with record Y : Integer; end record; type Derived_Bad (X : Boolean) is new Base with record -- Above line is the one failing. case X is when others => null; end case; end record; begin null; end Bugcase; $ gnatmake bugcase.adb gcc -c bugcase.adb bugcase.adb:14:09: call to abstract function must be dispatching gnatmake: "bugcase.adb" compilation error