To: J3 J3/21-137 From: John Reid Subject: Interpretation of CO_REDUCE Date: 2021-April-19 ---------------------------------------------------------------------- NUMBER: F18/xxx TITLE: Type of main argument of CO_REDUCE KEYWORDS: CO_REDUCE DEFECT TYPE: Erratum STATUS: J3 consideraton in progress QUESTION: The arguments of OPERATION are required to be scalar data objects that are nonallocatable, nonpointer, and nonpolymorphic. Was it intended to allow the type to have components that are allocatable, pointer, or polymorphic? ANSWER: No. The restrictions were imposed to allow an implementation to involve an image copying a scalar value to another image as for intrinsic assignment to a scalar coarray. This would not be possible if the type were to have an ultimate component that is allocatable, a pointer, or polymorphic. It was intended for this to be forbidden. An edit is provided to correct this oversight. Forbidding allocatable and pointer ultimate components is sufficient to forbid polymorphic ultimate components too. EDIT to 18-007r1: [356:42] In 16.9.49 CO_REDUCE, para 3, after first sentence, add "It shall not be of a type with an ultimate component that is allocatable or a pointer". SUBMITTED BY: John Reid HISTORY: 21-nnn m224 Submitted ----------------------------------------------------------------------