comp.lang.ada
 help / color / mirror / Atom feed
From: NiGHTS <nights@unku.us>
Subject: Re: Quick question regarding limited type return syntax
Date: Wed, 30 Jul 2014 18:00:43 -0700 (PDT)
Date: 2014-07-30T18:00:43-07:00	[thread overview]
Message-ID: <16a6846f-2964-438a-ab9b-2029075f7924@googlegroups.com> (raw)
In-Reply-To: <EngCv.101926$Ji3.44609@fx16.iad>

On Wednesday, July 30, 2014 8:48:34 PM UTC-4, Shark8 wrote:
> On 30-Jul-14 17:51, NiGHTS wrote:
> 
> >   return  Object (Connection_String'Access) do null; end return;
> 
> 
> 
> That should be
> 
>     return Object'(Connection_String'Access);
> 
> the extended-return is the form
> 
>    return object:type [:= value] do
> 
>      sequence_of_statements
> 
>    end return;
> 
> 
> 
> as you can see there's no 'do' there -- which is what the compiler was 
> 
> complaining about: there was no ';' between the value and "do".
> 
> 
> 
> > return  Object (Connection_String'Access);
> 
> 
> 
> The reason this is failing is because it's reading the parens as 
> 
> conversion, not qualification -- for qualification you need a "'"; 
> 
> personally I'm a fan of using named parameters when using qualification 
> 
> and generating objects.
> 
> 
> 
>     return Object'(Parameters => Connection_String'Access, others => <>);

This was another syntax I had tried. Here is the error I am getting with your syntax:

Expected type "Object" defined at (...)
Found type access to subtype of "Standard.String" at line (...)


Just to be clear this is my modification:

package body Test is
   function Create(...) return Object is
      ...
   begin
      return Object'(Connection_String'Access);
   end;
   ...
end Test; 


  reply	other threads:[~2014-07-31  1:00 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-30 23:51 Quick question regarding limited type return syntax NiGHTS
2014-07-31  0:02 ` Adam Beneschan
2014-07-31  0:56   ` NiGHTS
2014-07-31  0:48 ` Shark8
2014-07-31  1:00   ` NiGHTS [this message]
2014-07-31  1:29     ` Adam Beneschan
2014-07-31  1:38       ` NiGHTS
2014-07-31  4:01         ` Shark8
2014-08-01  2:12       ` Randy Brukardt
2014-08-01  3:40         ` Shark8
2014-08-01  7:57         ` J-P. Rosen
2014-08-01 19:23           ` Randy Brukardt
2014-08-01 19:37             ` J-P. Rosen
2014-08-01 20:53             ` Shark8
2014-08-02  7:11               ` Niklas Holsti
2014-08-02  7:34                 ` Dmitry A. Kazakov
2014-08-02 13:20                   ` Robert A Duff
2014-08-02 13:44                     ` Dmitry A. Kazakov
2014-08-02 14:34                       ` Robert A Duff
2014-08-02 16:56                         ` Dmitry A. Kazakov
2014-08-02 20:35                           ` Niklas Holsti
2014-08-03  7:30                             ` Dmitry A. Kazakov
2014-08-04  9:24                               ` Niklas Holsti
2014-08-04 10:42                                 ` G.B.
2014-08-04 11:39                                   ` Peter Chapin
2014-08-04 17:49                                     ` Niklas Holsti
2014-08-04 11:36                                 ` Peter Chapin
2014-08-04 12:43                                 ` Dmitry A. Kazakov
2014-08-04 16:19                                   ` G.B.
2014-08-04 16:38                                     ` Dmitry A. Kazakov
2014-08-04 16:51                                       ` G.B.
2014-08-04 17:23                                         ` Dmitry A. Kazakov
2014-08-04 19:37                                   ` Niklas Holsti
2014-08-05  8:30                                     ` Dmitry A. Kazakov
2014-08-05 19:24                                       ` Randy Brukardt
2014-08-03 16:35                           ` Robert A Duff
2014-08-02  8:02               ` Jacob Sparre Andersen
2014-08-02 19:20                 ` Shark8
2014-08-03 16:07                   ` Default values (Was: Quick question regarding limited type return syntax) Jacob Sparre Andersen
2014-08-04 21:29                     ` Randy Brukardt
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox