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!mx05.eternal-september.org!feeder.eternal-september.org!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!news.glorb.com!hitnews.eu!news-out.readnews.com!s09-01.readnews.com!not-for-mail X-Trace: DXC=;_`SY@PFe5KM=?cF8X300B[3OhcoN[H0@X44`8^\]>7J8DHB_I2k0T@>K`gGFg:INIR;mYjB][XVO24DKT5NOBkG`>OZH6:_RMMaDd;cYEOE4H X-Complaints-To: abuse@ngroups.net Date: Wed, 3 Jul 2013 22:55:24 +0200 From: Per Sandberg Newsgroups: comp.lang.ada Subject: Re: Variant record limitation - what's a better solution? Message-ID: <20130703225524.00f9dcbc@lufsen.sandat.dyndns.org> References: <0606a658-9816-4611-84dd-4f999bf6018e@googlegroups.com> X-Newsreader: Claws Mail 3.9.0 (GTK+ 2.24.8; x86_64-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit NNTP-Posting-Host: 4c38f809.ngroups.net Xref: news.eternal-september.org comp.lang.ada:16092 Date: 2013-07-03T22:55:24+02:00 List-Id: Just curious. This is how you want to do something, and if you want a deeper answer why not try to state what you want to do on a higher level since Ada is a high level language. /Persan On Wed, 3 Jul 2013 00:52:12 -0700 (PDT) Peter Brooks wrote: > I see that I can't do what I'd like to with a variant record. What > should I be doing? > > Here's an example: > > type > my_object(X : size_type) is > record > name : string(1..80); > case X is > when small => Y : small_type; -- line 20 > when medium => Y : medium_type; -- line 21 > when large => Y: large_type; -- line 22 > end case; > end record; > > The errors are: > line 21 'Y' conflicts with declaration at line 20 > line 22 'Y' conflicts with declaration at line 21 > > I was hoping to have a different type depending on the case, but this > doesn't seem allowed. What would achieve this?