Version 1.7 of ai12s/ai12-0067-1.txt

Unformatted version of ai12s/ai12-0067-1.txt version 1.7
Other versions for file ai12s/ai12-0067-1.txt

!standard 3.10.2(7/3)          13-10-07 AI12-0067-1/02
!class binding interpretation 13-05-30
!status Corrigendum 2015 13-07-15
!status WG9 Approved 13-11-15
!status ARG Approved 7-0-2 13-06-15
!status work item 13-05-30
!status received 13-02-25
!priority Low
!difficulty Easy
!qualifier Omission
!subject Accessibility level of explicitly aliased parameters of procedures and entries
!summary
Only explicitly aliased parameters of functions have special accessibility; explicitly aliased parameters of procedures and entries have the same accessibility as other kinds of parameters.
!question
3.10.2(7/3) says in part:
Other than for an explicitly aliased parameter, a formal parameter of a callable entity has the same accessibility level as the master representing the invocation of the entity.
and later 3.10.2(13.3/3) says:
The accessibility level of an explicitly aliased (see 6.1) formal parameter in a function body is determined by the point of call; it is the same level that the return object ultimately will have.
There seems to be no mention of the accessibility level of an explicitly aliased parameter which is not a parameter of a function. Should this be fixed? (Hell yes.)
!recommendation
(See !summary.)
!wording
Modify 3.10.2(7/3):
... Other than for an explicitly aliased parameter {of a function}, a formal parameter of a callable entity has the same accessibility level as the master representing the invocation of the entity.
!discussion
The special accessibility rules only apply to explicitly aliased parameters of functions, since the accessibility is that of the function result (which doesn't exist for a procedure or entry, of course). So the exception should be limited to just that case.
!corrigendum 3.10.2(7/3)
Replace the paragraph:
by:
!ACATS Test
None needed.
!ASIS
No ASIS effect.
!appendix

From: Steve Baird
Sent: Monday, February 25, 2013  1:37 PM

We've got:

    Other than for an explicitly aliased parameter, a formal
    parameter of a callable entity has the same accessibility
    level as the master representing the invocation of the entity.

and then

    The accessibility level of an explicitly aliased (see 6.1) formal
    parameter in a function body is determined by the point of call; it
    is the same level that the return object ultimately will have.

There seems to be no mention of the accessibility level of an explicitly
aliased parameter which is not a parameter of a function.

I think the first rule should have begun "Other than for an explicitly
aliased parameter [of a function], ...".


****************************************************************

From: Steve Baird
Sent: Monday, February 25, 2013  1:41 PM

Subject should have been "of non-functions".

I poked fun at Tuck for a typo earlier today and have been unable to type
for the rest of the morning as a karmic result.

****************************************************************


Questions? Ask the ACAA Technical Agent