LUMIERA.clone/research
Ichthyostega 847593f18b Investigation: resolve the mystery and fix the problem
Oh well.
This kept me busy a whole day long -- and someone less stubborn like myself
would probably supect a "compiler bug" or put the blame on the language C++

So to stress this point: the compiler behaved CORRECT

Just SFINAE is dangerous stuff: the metafunction I concieved yesterday requires
a complete type, yet, under rather specific circumstances, when instantiating
mutually dependent templates (in our case lib::diff::Record<GenNode> is a
recursive type), the distinction between "complete" and "incomplete"
becomes blurry, and depends on the processing order. Which gave the
misleading impression as if there was a side-effect where the presence
of one definition changes the meaning of another one used in the same
program. What happened in fact was just that the evaluation order was
changed, causing the metafunction to fail silently, thus picking
another specialisation.
2017-12-02 02:51:51 +01:00
..
clang-static-init-1.cpp BUG: Clang shows a problem when accessing templated static variable through separate compilation units 2013-10-06 23:17:18 +02:00
clang-static-init-2.cpp bughunt: re-create the whole 2nd layer with a configurable product type --> HIT 2013-10-06 23:17:18 +02:00
clang-static-init.hpp BUG: Clang shows a problem when accessing templated static variable through separate compilation units 2013-10-06 23:17:18 +02:00
crash_gdb_jessie-2015-08.sh investigation: Segfault in GDB (IV) (related to #946) 2015-08-16 01:17:35 +02:00
DIR_INFO SCons: new build target for experimental code 2011-12-03 06:10:12 +01:00
SConscript experiment: now bind a Proc-Layer command to these fabricated functions 2016-01-15 23:55:44 +01:00
try.cpp Investigation: resolve the mystery and fix the problem 2017-12-02 02:51:51 +01:00