
On 3/26/10 2:05 AM, "Joel Falcou" <joel.falcou@lri.fr> wrote:
Lubomir Bourdev wrote:
Also, GIL can spit some really nasty error messages. Not your fault, but can be a little scarey.
I have some thoughts about this as well. It is possible to write a script that filters this giant error output and returns a much more compact and human readable error description. For example, replace the page-long description of an 8-bit rgb view with 'rgb8_view_t', etc.
I never really used GIL but, are those long errors possibly be changed into smaller SFINAE or static assert check so you only got a simple static_assert***FAILURE*** or a no such function message ?
We had the same kind of problem in NT² and we took some time putting MPL_ASSERT or enable_if in critical code path so errors went nicer.
GIL uses the concept check library (enabled if you #define BOOST_GIL_USE_CONCEPT_CHECK, disabled by default). So you can try enabling this and it might help. However, we haven't been methodically placing a check for every single concept in every single place. That would make GIL a lot bigger. It also would put a significant toll on compile time. Lubomir