--------------------------------------------------------
Some Objective-C classes allow a subclass to override a particular method in a
-parent class but expect that the override chains to calling the same method in
-the parent class. In such cases it is useful to be able to mark a method as
-requiring this chaining behavior. For these cases, we provide an attribute to
-designate that a method requires a "call to ``super``" in the overriden method
-in the subclass.
+parent class but expect that the overriding method also calls the overridden
+method in the parent class. For these cases, we provide an attribute to
+designate that a method requires a "call to ``super``" in the overriding
+method in the subclass.
-**Usage**: ``__attribute__((objc_requires_super))``. This attribute can only be placed at the end of a method declaration:
+**Usage**: ``__attribute__((objc_requires_super))``. This attribute can only
+be placed at the end of a method declaration:
.. code-block:: objc
- (void)foo __attribute__((objc_requires_super));
-This attribute can only be applied the method declarations within a class, and not a protocol.
+This attribute can only be applied the method declarations within a class, and
+not a protocol. Currently this attribute does not enforce any placement of
+where the call occurs in the overriding method (such as in the case of
+``-dealloc`` where the call must appear at the end). It checks only that it
+exists.
Note that on both OS X and iOS that the Foundation framework provides a
convenience macro ``NS_REQUIRES_SUPER`` that provides syntactic sugar for this