Re: [eigen] Eigen 3.1 release plans

[ Thread Index | Date Index | More Archives ]

On 02.05.2012 11:24, Gael Guennebaud wrote:
The problem is that I'm pretty sure some users are already using it,
so we cannot simply remove or rename it. Updating its documentation
should at least discourage new users to rely on it. For old users I
see you proposed to raise a warning if EDTRM is defined and add a new
more explicit token. Perhaps it would be enough to add a warning in
the release note, which is, I think, what is the most likely to be
read by developers.

Well, EITHER you decide to support EDTRM (until 4.0), then you will first and foremost have to warn __developers who rely on Matrices being ColumnMajor__, i.e. basically everyone who uses .data(), Map, etc. OR you decide to deprecate it, which is best done by actually raising a warning during compilation not just a release note. Otherwise, you will likely miss some people who have the flag hidden somewhere in their build-system or people who at some point start to use third-party libraries which define this flag somewhere, thus giving them either spurious linker errors or, even worse, subtle undefined behavior.

Surely, it would have been better to deprecate it before releasing 3.0, especially, as you promised API stability for 3.x, but it is a hard decision for a feature that in itself breaks API compatibility ...


Dipl.-Inf. Christoph Hertzberg
Cartesium 0.049
Universität Bremen
Enrique-Schmidt-Straße 5
28359 Bremen

Tel: +49 (421) 218-64252

Mail converted by MHonArc 2.6.19+