From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: renaming as classwide type
Date: Tue, 26 Sep 2023 00:46:07 -0500 [thread overview]
Message-ID: <uetr67$2c95g$1@dont-email.me> (raw)
In-Reply-To: 5ab7e1d5-1491-49c3-877d-32bb6e12b43an@googlegroups.com
It's not needless; there is an implicit conversion on an assignment, and it
only needs to work one way. When you rename a variable, the conversion has
to work both ways. But that's problematic, since conversions often involve
checks and we don't want checks popping up in unexpected places (both for
implementation reasons and for readability reasons).
Also, renaming does not change the nominal subtype of an object, regardless
of what subtype is given in the renames. Ada 2022 allows you to omit the
type name altogether since it provides little value.
Randy.
"Simon Belmont" <sbelmont700@gmail.com> wrote in message
news:5ab7e1d5-1491-49c3-877d-32bb6e12b43an@googlegroups.com...
On Thursday, September 21, 2023 at 5:03:06?PM UTC-4, G.B. wrote:
> O does not denote an object of a class-wide type,
> I think. However, P'Class (o) does, so that renaming
> that would make r be of its declared type P'Class.
That seems needlessly pedantic, considering that assignment is fine (o2 :
P'Class := o) as well as assigning it to an intermediate pointer (po :
access P'Class := o'Access; r : P'Class renames po.all)
next prev parent reply other threads:[~2023-09-26 5:46 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-21 19:29 renaming as classwide type Simon Belmont
2023-09-21 21:03 ` G.B.
2023-09-21 23:19 ` Simon Belmont
2023-09-26 5:46 ` Randy Brukardt [this message]
2023-09-22 9:31 ` Simon Wright
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox