(Reported by Kristian Thomassen.)
Consider code like:
---
public class UnaryMinus {
public static void main(String... args) {
Character var = (char) - (false ? (char) args.length : (char) 2);
}
}
---
When run, this will cause a crash:
---
$ java UnaryMinus.java
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index -2 out of bounds for length 128
at java.base/java.lang.Character.valueOf(Character.java:8595)
at UnaryMinus.main(UnaryMinus.java:3)
---
Consider code like:
---
public class UnaryMinus {
public static void main(String... args) {
Character var = (char) - (false ? (char) args.length : (char) 2);
}
}
---
When run, this will cause a crash:
---
$ java UnaryMinus.java
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index -2 out of bounds for length 128
at java.base/java.lang.Character.valueOf(Character.java:8595)
at UnaryMinus.main(UnaryMinus.java:3)
---