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.

Reply via email to