aboutsummaryrefslogtreecommitdiff
path: root/doc/src/sgml/extend.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/extend.sgml')
-rw-r--r--doc/src/sgml/extend.sgml23
1 files changed, 12 insertions, 11 deletions
diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml
index f3850b391e0..8d5b9d0c836 100644
--- a/doc/src/sgml/extend.sgml
+++ b/doc/src/sgml/extend.sgml
@@ -200,13 +200,13 @@
<para>
Five pseudo-types of special interest are <type>anyelement</>,
<type>anyarray</>, <type>anynonarray</>, <type>anyenum</>,
- and <type>anyrange</>, which are collectively
- called <firstterm>polymorphic types</>. Any function declared
- using these types is said to be a <firstterm>polymorphic
- function</>. A polymorphic function can operate on many
- different data types, with the specific data type(s) being
- determined by the data types actually passed to it in a
- particular call.
+ and <type>anyrange</>,
+ which are collectively called <firstterm>polymorphic types</>.
+ Any function declared using these types is said to be
+ a <firstterm>polymorphic function</>. A polymorphic function can
+ operate on many different data types, with the specific data type(s)
+ being determined by the data types actually passed to it in a particular
+ call.
</para>
<para>
@@ -217,15 +217,16 @@
data type, but in any given call they must all be the
<emphasis>same</emphasis> actual type. Each
position declared as <type>anyarray</type> can have any array data type,
- but similarly they must all be the same type. If there are
+ but similarly they must all be the same type. And similarly,
+ positions declared as <type>anyrange</type> must all be the same range
+ type. Furthermore, if there are
positions declared <type>anyarray</type> and others declared
<type>anyelement</type>, the actual array type in the
<type>anyarray</type> positions must be an array whose elements are
the same type appearing in the <type>anyelement</type> positions.
Similarly, if there are positions declared <type>anyrange</type>
- and others declared
- <type>anyelement</type>, the actual range type in the
- <type>anyrange</type> positions must be a range whose subtype is
+ and others declared <type>anyelement</type>, the actual range type in
+ the <type>anyrange</type> positions must be a range whose subtype is
the same type appearing in the <type>anyelement</type> positions.
<type>anynonarray</> is treated exactly the same as <type>anyelement</>,
but adds the additional constraint that the actual type must not be