What does nothrow buy me?

H. S. Teoh hsteoh at quickfur.ath.cx
Tue Oct 27 18:21:23 UTC 2020


On Tue, Oct 27, 2020 at 06:10:45PM +0000, Atila Neves via Digitalmars-d wrote:
> On Monday, 26 October 2020 at 18:47:41 UTC, Q. Schroll wrote:
[...]
> > At first glance, one could assume a nothrow function can save the
> > compiler from the need to generate exception handling stuff for a
> > function. But since nothrow doesn't mean the function won't throw,
> > but merely that it won't throw an Exception, what optimizations does
> > nothrow enable?
> 
> It's also extremely useful for when D code is being called from other
> languages. Throwing an exception from a function registered with
> Python is not a thing one wants to do, for instance.

But how does it help in the case of throwing an Error from a function
registered with Python?  Arguably, that's something you even *more*
wouldn't want to do.


T

-- 
Why waste time reinventing the wheel, when you could be reinventing the engine? -- Damian Conway


More information about the Digitalmars-d mailing list