(j3.2006) EXTENDS and BIND(C)
Robert Corbett
robert.corbett
Fri May 30 23:20:14 EDT 2014
On 05/30/14 19:37, Van Snyder wrote:
> On Fri, 2014-05-30 at 19:30 -0700, Robert Corbett wrote:
>> On 05/30/14 19:11, Van Snyder wrote:
>>> Subclause 4.5.7.1 says that an extensible type is one that does not have
>>> the SEQUENCE or BIND(C) attribute.
>>>
>>> C436 says that if EXTENDS appears, SEQUENCE shall not appear.
>>>
>>> I can't find a constraint that says if EXTENDS appears, BIND(C) shall
>>> not appear.
>>>
>>> Is there one? Should there be one?
>>>
>> There is one. Look in 15.3.4.
> Yeah, I found it shortly after I sent the message.
>
> Why are C1501 and C1503 not just one constraint?
I suppose it is just a matter of style. The five constraints given
in 15.3.4 could be merged into one big constraint.
>
> Why is ABSTRACT not in the list? 4.5.2.1p1 says "Derived types with the
> BIND attribute are subject to additional constraints as specified in
> 15.3.4." Presumably we did that to make it easy to find all the
> constraints on BIND, at least as it applies to interoperable derived
> types. The constraint against ABSTRACT and BIND is C435, which requires
> one to go look at the definition of "extensible" to discover it applies
> to BIND (and SEQUENCE). So it's not just in a different subclause from
> 15.3.4, it's spread across two different subclauses.
I assume it is because clause 15 was first written as a TR and then integrated
into the standard.
Robert Corbett
More information about the J3
mailing list