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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Profile mismatch? Date: Thu, 13 Mar 2014 12:06:40 +0000 Organization: A noiseless patient Spider Message-ID: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx05.eternal-september.org; posting-host="accbe75cb89a13856bb11e3e154f69e9"; logging-data="18529"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+8/kIR3zYGEBvbBSnCCXGdx0sFyikMCQ4=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (darwin) Cancel-Lock: sha1:VJeeRVixD9BjPLmVWcOzzgNJwzg= sha1:oe9C0nrElZpKOcW7alyXi2MWciE= Xref: news.eternal-september.org comp.lang.ada:18808 Date: 2014-03-13T12:06:40+00:00 List-Id: Given the code below package Profile is type A1 is abstract tagged limited null record; procedure P (This : not null access A1); type A2 is abstract new A1 with null record; procedure P (This : access A2); -- mismatch type T1 is new A1 with null record; procedure P (This : access T1); -- mismatch type T2 is new A2 with null record; procedure P (This : not null access T2); -- mismatch type T3 is new T2 with null record; procedure P (This : access T3); -- mismatch end Profile; should a compiler recognise the mismatches of the null exclusions where indicated? GNAT (4.8, 4.9, GPL 2013) accepts this code without comment. I've seen very similar cases (structurally, but with many more subprograms) which GNAT didn't accept, saying not subtype conformant with operation inherited at line 42 type of "This" does not match I've not yet tried to track this down.