Adds broken/SwitchOnLong.java and regenerates transcripts so every 'runs on 21, 25 and 27' claim has a transcript. Additive commit. Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
108 lines
4.8 KiB
Plaintext
108 lines
4.8 KiB
Plaintext
$ javac preview/PrimitiveInstanceof.java (25.0.4.1+1-LTS)
|
|
preview/PrimitiveInstanceof.java:3: error: primitive patterns are a preview feature and are disabled by default.
|
|
if (i instanceof byte b) return i + " fits in a byte: " + b;
|
|
^
|
|
(use --enable-preview to enable primitive patterns)
|
|
1 error
|
|
|
|
$ javac preview/PrimitiveInstanceof.java (27+35)
|
|
preview/PrimitiveInstanceof.java:3: error: primitive patterns are a preview feature and are disabled by default.
|
|
if (i instanceof byte b) return i + " fits in a byte: " + b;
|
|
^
|
|
(use --enable-preview to enable primitive patterns)
|
|
1 error
|
|
|
|
$ javac broken/SwitchOnLong.java (21.0.10+7-Ubuntu-124.04)
|
|
broken/SwitchOnLong.java:4: error: selector type long is not allowed
|
|
String s = switch (n) { // switch on long: not allowed without the preview
|
|
^
|
|
1 error
|
|
|
|
$ javac broken/SwitchOnLong.java (25.0.4.1+1-LTS)
|
|
broken/SwitchOnLong.java:4: error: primitive patterns are a preview feature and are disabled by default.
|
|
String s = switch (n) { // switch on long: not allowed without the preview
|
|
^
|
|
(use --enable-preview to enable primitive patterns)
|
|
1 error
|
|
|
|
$ javac broken/SwitchOnLong.java (27+35)
|
|
broken/SwitchOnLong.java:4: error: primitive patterns are a preview feature and are disabled by default.
|
|
String s = switch (n) { // switch on long: not allowed without the preview
|
|
^
|
|
(use --enable-preview to enable primitive patterns)
|
|
1 error
|
|
|
|
$ javac --enable-preview --release 25 preview/PrimitiveInstanceof.java && java --enable-preview PrimitiveInstanceof (25.0.4.1+1-LTS)
|
|
100 fits in a byte: 100
|
|
1000 fits in a short: 1000
|
|
100000 needs an int
|
|
0.5 converts to float 0.5 without loss
|
|
0.1 does NOT convert to float without loss
|
|
|
|
$ javac --enable-preview --release 27 preview/PrimitiveInstanceof.java && java --enable-preview PrimitiveInstanceof (27+35)
|
|
100 fits in a byte: 100
|
|
1000 fits in a short: 1000
|
|
100000 needs an int
|
|
0.5 converts to float 0.5 without loss
|
|
0.1 does NOT convert to float without loss
|
|
|
|
$ javac --enable-preview --release 25 preview/PrimitiveSwitch.java && java --enable-preview PrimitiveSwitch (25.0.4.1+1-LTS)
|
|
OK | other success 204 | client error 404 | something else 500
|
|
yes no
|
|
zero one many (9223372036854775807)
|
|
|
|
$ javac --enable-preview --release 27 preview/PrimitiveSwitch.java && java --enable-preview PrimitiveSwitch (27+35)
|
|
OK | other success 204 | client error 404 | something else 500
|
|
yes no
|
|
zero one many (9223372036854775807)
|
|
|
|
$ javac --enable-preview --release 25 preview/PrimitiveInRecord.java && java --enable-preview PrimitiveInRecord (25.0.4.1+1-LTS)
|
|
whole degrees: 21
|
|
fractional: 21.5
|
|
not a reading
|
|
|
|
$ javac --enable-preview --release 27 preview/PrimitiveInRecord.java && java --enable-preview PrimitiveInRecord (27+35)
|
|
whole degrees: 21
|
|
fractional: 21.5
|
|
not a reading
|
|
|
|
$ javac --enable-preview --release 25 preview/PrimitiveEdges.java && java --enable-preview PrimitiveEdges (25.0.4.1+1-LTS)
|
|
0.0 int? true float? true
|
|
-0.0 int? false float? true
|
|
NaN int? false float? true
|
|
1.6777217E7 int? true float? false
|
|
1.0E10 int? false float? true
|
|
3.0 int? true float? true
|
|
1099511627776 instanceof int? false
|
|
Object holding Integer matches int pattern: 42
|
|
Short in Object does not match int
|
|
65 as char: A
|
|
|
|
$ javac --enable-preview --release 27 preview/PrimitiveEdges.java && java --enable-preview PrimitiveEdges (27+35)
|
|
0.0 int? true float? true
|
|
-0.0 int? false float? true
|
|
NaN int? false float? true
|
|
1.6777217E7 int? true float? false
|
|
1.0E10 int? false float? true
|
|
3.0 int? true float? true
|
|
1099511627776 instanceof int? false
|
|
Object holding Integer matches int pattern: 42
|
|
Short in Object does not match int
|
|
65 as char: A
|
|
|
|
$ javac --enable-preview --release 25 preview/BoxedToNarrower.java && java --enable-preview BoxedToNarrower (25.0.4.1+1-LTS)
|
|
preview/BoxedToNarrower.java:4: error: incompatible types: Integer cannot be converted to byte
|
|
if (boxed instanceof byte b) System.out.println("fits a byte: " + b); // Integer to byte is not allowed
|
|
^
|
|
1 error
|
|
Error: Could not find or load main class BoxedToNarrower
|
|
Caused by: java.lang.ClassNotFoundException: BoxedToNarrower
|
|
|
|
$ javac --enable-preview --release 27 preview/BoxedToNarrower.java && java --enable-preview BoxedToNarrower (27+35)
|
|
preview/BoxedToNarrower.java:4: error: incompatible types: Integer cannot be converted to byte
|
|
if (boxed instanceof byte b) System.out.println("fits a byte: " + b); // Integer to byte is not allowed
|
|
^
|
|
1 error
|
|
Error: Could not find or load main class BoxedToNarrower
|
|
Caused by: java.lang.ClassNotFoundException: BoxedToNarrower
|