caide-cpp-inliner
caide-cpp-inliner copied to clipboard
Declarations referenced in a dependent template argument may get removed
Example: http://ideone.com/QaLeKP
If I rewrite the function in the following way, everything works:
template <class Y> void f(Y& y) { typename Y::value_type value = 42; y.value = value; }
This issue is actually very important for template metaprogramming. The following example fails on multiple levels: https://ideone.com/8UCOkK