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