id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 13346,SFINAE-friendly range_value,marc.glisse@…,Neil Groves,"This code compiles: {{{ #include #include #include template void f(std::pair){} template auto f(T) -> typename std::iterator_traits::type>::value_type {} int main(){ std::pair p; f(p); } }}} However, if I change the return type to the more readable `typename boost::range_value::type`, it now fails to compile because the broken typedef in iterator_value is not in the immediate context. The standard noticed that this was useful and made iterator_traits SFINAE-friendly, it would be nice if boost could do the same for the various range meta-functions.",Feature Requests,new,To Be Determined,range,Boost 1.62.0,Problem,,sfinae,