Re:OpenJDK mailing list: Null-safety and value types
by vips7L on Tuesday February 07, 2023 @09:10PM
(#34703193)
I don’t think anyone would really use String! everywhere.
Re:OpenJDK mailing list: Null-safety and value types
by aardvark179 on Wednesday February 08, 2023 @03:26AM
(#34705567)
I think you’ll see it creep into parameter types in the core JDK and it will work its way out from there.
Re:OpenJDK mailing list: Null-safety and value types
by kaba0 on Wednesday February 08, 2023 @12:45AM
(#34704588)
I think it can work in a binary-additive way — the class file gets a new attribute for nullness information, while missing it (older class files) default to “unspecified”. That can be safely consumed by new code, which will get the updated syntax with a new option (specified on a module/package/class basis) where ‘T’ means ‘T!’ and that should be a proper subset of previously compiling code, so I don’t think anything would break that way. Similarly to how generics and unchecked warnings were rolled out.
Edit: it’s worth saying that a lot of careful thought around compatibility goes into features like this. That means the core libraries should be able to transition to non-billable types where this is already a run time requirement, and existing compiled jars must continue to work.