Re: [External] : Re: Record patterns (and beyond): exceptions

2022-02-18 Thread Brian Goetz
*"amber-spec-experts" *Sent: *Friday, February 18, 2022 3:34:45 PM *Subject: *Re: [External] : Re: Record patterns (and beyond): exceptions But this clearly does not fall into ICCE.  ICCE means, basically, "your classpath is borked"; that thing

Re: [External] : Re: Record patterns (and beyond): exceptions

2022-02-18 Thread forax
> From: "Brian Goetz" > To: "Remi Forax" > Cc: "amber-spec-experts" > Sent: Friday, February 18, 2022 3:34:45 PM > Subject: Re: [External] : Re: Record patterns (and beyond): exceptions >>> But this clearly does not fall into ICCE. ICC

Re: [External] : Re: Record patterns (and beyond): exceptions

2022-02-18 Thread Brian Goetz
But this clearly does not fall into ICCE.  ICCE means, basically, "your classpath is borked"; that things that were known to be true at compile time are not true at runtime. (Inconsistent separate compilation is the most common cause.)  But Box(Bag(null)) is not an artifact

Re: [External] : Re: Record patterns (and beyond): exceptions

2022-02-17 Thread forax
> From: "Brian Goetz" > To: "Remi Forax" > Cc: "amber-spec-experts" > Sent: Thursday, February 17, 2022 3:43:08 PM > Subject: Re: [External] : Re: Record patterns (and beyond): exceptions >>> As we look ahead to record patterns, there

Re: [External] : Re: Record patterns (and beyond): exceptions

2022-02-17 Thread Brian Goetz
As we look ahead to record patterns, there is a new kind of remainder: the "spine" of nested record patterns.  This includes things like Box(null), Box(novel), Box(Bag(null)), Box(Mapping(null, novel)), etc.  It should be clear that there is no clean extrapolation from what

Re: Record patterns (and beyond): exceptions

2022-02-17 Thread Remi Forax
> From: "Brian Goetz" > To: "amber-spec-experts" > Sent: Wednesday, February 16, 2022 7:34:17 PM > Subject: Record patterns (and beyond): exceptions > As we move towards the next deliverable -- record patterns -- we have two new > questions regarding except

Re: Record patterns (and beyond): exceptions

2022-02-17 Thread Tagir Valeev
Hello! I like the comparison with ExceptionInInitializerError and want to draw more parallels to static initializers. People rarely expect an exception popping when you do something harmless like reading a static field (likely it's much less expected than exception from pattern), so it's usually

Record patterns (and beyond): exceptions

2022-02-16 Thread Brian Goetz
As we move towards the next deliverable -- record patterns -- we have two new questions regarding exceptions to answer. Questions 1.  When a dtor throws an exception.  (You might think we can kick this down the road, since records automatically acquire a synthetic dtor, and users can't