On Friday, 14 July 2017 at 23:09:23 UTC, Stefan Koch wrote:
On Friday, 14 July 2017 at 23:02:24 UTC, Moritz Maxeiner wrote:
On Friday, 14 July 2017 at 21:20:29 UTC, Jonathan M Davis wrote:
Basically, the compiler _never_ looks at the bodies of other functions when determining which attributes apply. It always [...].

I'm well aware of that, but it doesn't mean that it can't be enhanced to do so (i.e. what it can do, not what it does do).

"Enhancing" the compiler to do so comes at a very very high cost.

That depends on if, how, and when the compiler frontend currently does other (unrelated to exceptions) semantic analysis of function bodies.

Which would force the compiler to look at every body it can look at to maybe discover a closed set of execptions. This would kill fast compile-times!

Again, this depends on the exact internals available at the semantic analysis time, but in theory, it should be possible that when a ThrowStatement is encountered, the surrounding scope aggregates the exception's type in it's aggregated exception set (ignoring things not inherited from Exception).
I don't think this would necessarily kill fast compile times.

Reply via email to