[ 
https://issues.apache.org/jira/browse/GROOVY-10476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eric Milles updated GROOVY-10476:
---------------------------------
    Description: 
Follow up from GROOVY-8133.  Using a {{Stream}} or other iterable-like type 
(provides {{iterator()}} method but does not implement {{Iterable}}) in a 
for-each loop works but does not provide type inference beyond Object for the 
loop element type.

Consider the following:
{code:groovy}
@groovy.transform.TypeChecked
void test() {
  for (e in ['a','b','c'].stream()) {
    println e.toUpperCase()
  }
}
{code}

  was:Follow up from GROOVY-8133.  Using a {{Stream}} or other iterable-like 
type (provides {{iterator()}} method but does not implement {{Iterable}}) in a 
for-each loop works but does not provide type inference beyond Object for the 
loop element type.


> STC: for-each loop on iterable-like types
> -----------------------------------------
>
>                 Key: GROOVY-10476
>                 URL: https://issues.apache.org/jira/browse/GROOVY-10476
>             Project: Groovy
>          Issue Type: Improvement
>            Reporter: Eric Milles
>            Assignee: Eric Milles
>            Priority: Minor
>
> Follow up from GROOVY-8133.  Using a {{Stream}} or other iterable-like type 
> (provides {{iterator()}} method but does not implement {{Iterable}}) in a 
> for-each loop works but does not provide type inference beyond Object for the 
> loop element type.
> Consider the following:
> {code:groovy}
> @groovy.transform.TypeChecked
> void test() {
>   for (e in ['a','b','c'].stream()) {
>     println e.toUpperCase()
>   }
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to