!standard E.2.2 (14) 96-02-06 AI95-00046/02 !class confirmation 95-06-25 !status WG9 approved 95-06-14 !status ARG approved (subject to editorial review) 8-0-1 95-11-01 !status received 95-06-25 !subject Ambiguous "only"; please clarify intent !summary 95-06-25 For a remote access-to-classwide type, if the corresponding specific type is T, then every access parameter of a primitive subprogram of T must be a controlling parameter. !question 95-06-25 For a remote access-to-classwide type, "The primitive subprograms of the corresponding specific limited private type shall only have access parameters if they are controlling formal parameters...." This can be interpreted two ways: 1. Every controlling parameter of a primitive subprogram must be an access parameter. 2. Every access parameter of a primitive subprogram must be a controlling parameter. Which do you mean? !response 95-06-25 The intent is to forbid access parameters that are not controlling, since the access value potentially designates an object in another partition. !appendix 95-06-25 !section E.2.2(14) !subject Ambiguous "only"; please clarify intent !reference RM95-E.2.2(14);6.0 !from Norman Cohen !reference as: 95-5134.a Norman H. Cohen 95-5-4>> !discussion For a remote access-to-classwide type, "The primitive subprograms of the corresponding specific limited private type shall only have access parameters if they are controlling formal parameters...." This can be interpreted two ways: 1. Every controlling parameter of a primitive subprogram must be an access parameter. 2. Every access parameter of a primitive subprogram must be a controlling parameter. Which do you mean? **************************************************************** !section E.2.2(14) !subject Ambiguous "only"; please clarify intent !reference RM95-E.2.2(14);6.0 !reference 95-5134.a Norman Cohen 95-05-04 !from Tucker Taft 95-05-05 !reference as: 95-5136.a Tucker Taft 95-5-5>> !discussion > For a remote access-to-classwide type, "The primitive subprograms of the > corresponding specific limited private type shall only have access > parameters if they are controlling formal parameters...." > > This can be interpreted two ways: > > 1. Every controlling parameter of a primitive subprogram must be an > access parameter. > > 2. Every access parameter of a primitive subprogram must be a controlling > parameter. > > Which do you mean? Number 2. You generally aren't allowed to pass non-remote access values between partitions. However, when the access value is a controlling access parameter for a remote access-to-class-wide type, the caller passes in a remote access type, but by the time you get to the "real" body, it is guaranteed that the access parameter designates a local object. **************************************************************** !section E.2.2(14) !subject Ambiguous "only"; please clarify intent !reference RM95-E.2.2(14);6.0 !from Offer Pazy 95-5-6 !reference 95-5134.a Norman H. Cohen 95-5-4 !reference as: 95-5140.a Offer Pazy 95-5-6>> !discussion > For a remote access-to-classwide type, "The primitive subprograms of the > corresponding specific limited private type shall only have access > parameters if they are controlling formal parameters...." > > This can be interpreted two ways: > > 1. Every controlling parameter of a primitive subprogram must be an > access parameter. > > 2. Every access parameter of a primitive subprogram must be a controlling > parameter. > > Which do you mean? I believe that #2 is the answer. I am not sure how you can deduce the former, but I trust that you can ... ****************************************************************