On Apr 26, 2022, at 5:22 PM, Kevin Bourrillion <kev...@google.com<mailto:kev...@google.com>> wrote:
(Thought experiment: if we had an annotation meaning "using the .val type is not a great idea for this class and you should get a compile-time warning if you do" .... would we really and I mean *really* even need bucket 2 at all?) Yes, because some (many?) class authors want strong guarantees that the initial (all-zeros) instance is never available in the wild. This is the most prominent encapsulation-breaking compromise that an author makes when moving from B2 to B3.