From ripley at stats.ox.ac.uk  Sat Nov 10 09:50:10 2007
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Sat, 10 Nov 2007 08:50:10 +0000 (GMT)
Subject: [Rd] C/C++ 'assert' should not be used in R packages
Message-ID: <Pine.LNX.4.64.0711071638510.7944@gannet.stats.ox.ac.uk>

Please don't use 'assert' in R packages.  If called, this means that an 
error in your code aborts the whole R process, including your user's work. 
I see several R packages doing this, and one of them called 'assert' on me 
earlier in the week.

We provide 'error': please do use it to return control to the user when 
your code misbehaves.

Similarly 'exit' and 'abort' should never be used in R packages.


Sometimes it is not under your control: I sometimes see an rgl failure at

R: indirect_vertex_array.c:659: emit_DrawArrays_old: Assertion 
`elements_per_request >= count' failed.

that is coming from the Mesa GL libraries.

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



[Rd] C/C++ 'assert' should not be used in R packages
Prof Brian Ripley