@@ -291,23 +291,24 @@ having type `dynamic`.
291291The return type of the context function type is used at several points during
292292inference. We refer to this type as the ** imposed return type
293293schema** . Inference for each returned or yielded expression in the body of the
294- function literal is done using a context type derived from the imposed return
295- type schema ` S ` as follows:
294+ function literal is done using a context type schema derived from the imposed
295+ return type schema ` S ` as follows:
296+
296297 - If the function expression is neither ` async ` nor a generator, then the
297- context type is ` S ` .
298- - If the function expression is declared ` async* ` and the element type of
299- ` S ` as the return type of an asynchronous function is ` S1 ` , then the
300- context type is ` S1 ` .
301- - If the function expression is declared ` sync* ` and the element type of
302- ` S ` as the return type of a synchronous function is ` S1 ` , then the
303- context type is ` S1 ` .
298+ context type schema is ` S ` .
299+ - If the function expression is declared ` async* ` and the element type
300+ schema of ` S ` as the return type schema of an asynchronous function is
301+ ` S1 ` , then the context type schema is ` S1 ` .
302+ - If the function expression is declared ` sync* ` and the element type
303+ schema of ` S ` as the return type schema of a synchronous function is
304+ ` S1 ` , then the context type schema is ` S1 ` .
304305 - If the function expression is declared ` async ` , without null safety, the
305306 context type is ` FutureOr<flatten(T)> ` where ` T ` is the imposed return
306- type schema; with null safety, the context type is
307+ type schema; with null safety, the context type schema is
307308 ` FutureOr<futureValueTypeSchema(S)> ` .
308- - Otherwise, the context type is ` _ ` . * For example, a ` sync* ` function
309- literal could have an imposed return type schema ` S ` which is ` int ` ,
310- and ` int ` doesn't have an element type.*
309+ - Otherwise, the context type schema is ` _ ` . * For example, a ` sync* `
310+ function literal could have an imposed return type schema ` S ` which
311+ is ` int ` , and ` int ` doesn't have an element type.*
311312
312313The function ** futureValueTypeSchema** is defined as follows:
313314
0 commit comments