java redundant cast: preserve multiple type casts around functional interface when if expected type is the same as cast

isAssignable check may fail otherwise

GitOrigin-RevId: d02c9d50645a2bbb0e957f077a4a66813c94afd6
This commit is contained in:
Anna Kozlova
2020-05-11 22:03:29 +02:00
committed by intellij-monorepo-bot
parent b088cbd746
commit c879ed4e4a
3 changed files with 16 additions and 1 deletions

View File

@@ -0,0 +1,14 @@
import java.util.function.Function;
abstract class MyTest {
public <T> T m() {
//noinspection unchecked
return (T)(Function)t -> t;
}
public Function m1() {
//noinspection unchecked
return (<warning descr="Casting '(Function)t -> {...}' to 'Function' is redundant">Function</warning>)(<warning descr="Casting 't -> {...}' to 'Function' is redundant">Function</warning>)t -> t;
}
}