@@ -132,7 +132,7 @@ Classes
132132
133133 Values are real annotation values (as per :attr: `Format.VALUE ` format)
134134 for defined values, and :class: `ForwardRef ` proxies for undefined
135- values. Real objects may contain references to, :class: `ForwardRef `
135+ values. Real objects may contain references to :class: `ForwardRef `
136136 proxy objects.
137137
138138 .. attribute :: STRING
@@ -172,14 +172,21 @@ Classes
172172 :class: `~ForwardRef `. The string may not be exactly equivalent
173173 to the original source.
174174
175- .. method :: evaluate(*, owner=None, globals=None, locals=None, type_params=None)
175+ .. method :: evaluate(*, owner=None, globals=None, locals=None, type_params=None, format=Format.VALUE )
176176
177177 Evaluate the forward reference, returning its value.
178178
179- This may throw an exception, such as :exc: `NameError `, if the forward
179+ If the *format * argument is :attr: `~Format.VALUE ` (the default),
180+ this method may throw an exception, such as :exc: `NameError `, if the forward
180181 reference refers to a name that cannot be resolved. The arguments to this
181182 method can be used to provide bindings for names that would otherwise
182- be undefined.
183+ be undefined. If the *format * argument is :attr: `~Format.FORWARDREF `,
184+ the method will never throw an exception, but may return a :class: `~ForwardRef `
185+ instance. For example, if the forward reference object contains the code
186+ ``list[undefined] ``, where ``undefined `` is a name that is not defined,
187+ evaluating it with the :attr: `~Format.FORWARDREF ` format will return
188+ ``list[ForwardRef('undefined')] ``. If the *format * argument is
189+ :attr: `~Format.STRING `, the method will return :attr: `~ForwardRef.__forward_arg__ `.
183190
184191 The *owner * parameter provides the preferred mechanism for passing scope
185192 information to this method. The owner of a :class: `~ForwardRef ` is the
0 commit comments