AlanConfluent commented on PR #23975:
URL: https://github.com/apache/flink/pull/23975#issuecomment-1883987246

   I did notice that if you have some fairly complex generic hierarchy:
   
   ```
   public abstract static class AsyncFuncGeneric<T> extends AsyncFuncBase {
   
           private static final long serialVersionUID = 3L;
   
           abstract T[] newT(int param);
   
           public void eval(CompletableFuture<T[]> future, Integer param) {
               executor.schedule(() -> future.complete(newT(param)), 10, 
TimeUnit.MILLISECONDS);
           }
       }
   
       /** Test function. */
       public static class LongAsyncFuncGeneric extends AsyncFuncGeneric<Long> {
           @Override
           Long[] newT(int param) {
               Long[] result = new Long[1];
               result[0] = 10L + param;
               return result;
           }
       }
    ```
    
    It will fail to resolve the type here.  I actually have a stash where I 
have gone much farther is implementing resolve for the type system so that I 
can not only resolve a TypeVariable, but other types.  I think if we really 
want to handle this sort of case, I can push that stash, but was unsure if it 
was over the top for this purpose.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to