@@ -1915,8 +1915,8 @@ _unless_ accompanied by a _field error_.
19151915
19161916The Semantic -Non -Null type wraps an underlying type , and this type acts
19171917identically to that wrapped type , with the exception that {null } will result in
1918- a field error being raised . A leading exclamation mark is used to denote a
1919- field that uses a Semantic -Non -Null type like this : `name : ! String `.
1918+ a field error being raised . A trailing asterisk is used to denote a field that
1919+ uses a Semantic -Non -Null type like this : `name : String * `.
19201920
19211921Semantic -Non -Null types are only valid for use as an _output type_ ; they must
19221922not be used as an _input type_ .
@@ -1955,7 +1955,7 @@ The List and Semantic-Non-Null wrapping types can compose, representing more
19551955complex types. The rules for result coercion of Lists and Semantic-Non-Null
19561956types apply in a recursive fashion.
19571957
1958- For example if the inner item type of a List is Semantic-Non-Null (e.g. `[!T ]`),
1958+ For example if the inner item type of a List is Semantic-Non-Null (e.g. `[T* ]`),
19591959then that List may not contain any {null } items unless associated field errors
19601960were raised . However if the inner type of a Semantic -Non -Null is a List (e.g.
19611961`![T]`), then {null } is not accepted without an accompanying field error being
@@ -1965,26 +1965,26 @@ Following are examples of result coercion with various types and values:
19651965
19661966| Expected Type | Internal Value | Coerced Result |
19671967| ------------- | --------------- | ------------------------------------------- |
1968- | `! [Int ]` | `[1, 2, 3]` | `[1, 2, 3]` |
1969- | `! [Int ]` | `null ` | `null ` (With logged coercion error) |
1970- | `! [Int ]` | `[1, 2, null ]` | `[1, 2, null ]` |
1971- | `! [Int ]` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
1972- | `! [Int !]` | `[1, 2, 3]` | `[1, 2, 3]` |
1973- | `! [Int !]` | `null ` | `null ` (With logged coercion error) |
1974- | `! [Int !]` | `[1, 2, null ]` | `null ` (With logged coercion error) |
1975- | `! [Int !]` | `[1, 2, Error ]` | `null ` (With logged error) |
1976- | `[! Int ]` | `[1, 2, 3]` | `[1, 2, 3]` |
1977- | `[! Int ]` | `null ` | `null ` |
1978- | `[! Int ]` | `[1, 2, null ]` | `[1, 2, null ]` (With logged coercion error) |
1979- | `[! Int ]` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
1980- | `[! Int ]!` | `[1, 2, 3]` | `[1, 2, 3]` |
1981- | `[! Int ]!` | `null ` | Error : Value cannot be null |
1982- | `[! Int ]!` | `[1, 2, null ]` | `[1, 2, null ]` (With logged coercion error) |
1983- | `[! Int ]!` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
1984- | `![! Int ] ` | `[1, 2, 3]` | `[1, 2, 3]` |
1985- | `![! Int ] ` | `null ` | `null ` (With logged coercion error) |
1986- | `![! Int ] ` | `[1, 2, null ]` | `[1, 2, null ]` (With logged coercion error) |
1987- | `![! Int ] ` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
1968+ | `[Int ]* ` | `[1, 2, 3]` | `[1, 2, 3]` |
1969+ | `[Int ]* ` | `null ` | `null ` (With logged coercion error) |
1970+ | `[Int ]* ` | `[1, 2, null ]` | `[1, 2, null ]` |
1971+ | `[Int ]* ` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
1972+ | `[Int !]* ` | `[1, 2, 3]` | `[1, 2, 3]` |
1973+ | `[Int !]* ` | `null ` | `null ` (With logged coercion error) |
1974+ | `[Int !]* ` | `[1, 2, null ]` | `null ` (With logged coercion error) |
1975+ | `[Int !]* ` | `[1, 2, Error ]` | `null ` (With logged error) |
1976+ | `[Int * ]` | `[1, 2, 3]` | `[1, 2, 3]` |
1977+ | `[Int * ]` | `null ` | `null ` |
1978+ | `[Int * ]` | `[1, 2, null ]` | `[1, 2, null ]` (With logged coercion error) |
1979+ | `[Int * ]` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
1980+ | `[Int * ]!` | `[1, 2, 3]` | `[1, 2, 3]` |
1981+ | `[Int * ]!` | `null ` | Error : Value cannot be null |
1982+ | `[Int * ]!` | `[1, 2, null ]` | `[1, 2, null ]` (With logged coercion error) |
1983+ | `[Int * ]!` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
1984+ | `[ Int *]* ` | `[1, 2, 3]` | `[1, 2, 3]` |
1985+ | `[ Int *]* ` | `null ` | `null ` (With logged coercion error) |
1986+ | `[ Int *]* ` | `[1, 2, null ]` | `[1, 2, null ]` (With logged coercion error) |
1987+ | `[ Int *]* ` | `[1, 2, Error ]` | `[1, 2, null ]` (With logged error) |
19881988
19891989## Directives
19901990
0 commit comments