------- Comment #3 from pinskia at gcc dot gnu dot org 2006-02-13 20:25 ------- I should say this is rejected in 4.1.0: ../include/row.hh: In member function row<T>::operator const row<const T>() const [with T = unsigned int]: ../include/powerset.hh:1027: instantiated from row<range<T> > powerset<E, alloc>::ranges(row<R>) [with R = unsigned int, E = unsigned int, alloc = standardAllocator] ../include/powerset.hh:479: instantiated from powerset<E, alloc>::powerset(row<R>, const alloc<range<T> >&) [with R = unsigned int, E = unsigned int, alloc = standardAllocator] ../include/display.hh:199: instantiated from basicDisplay<ch, tr>::basicDisplay(std::basic_ostream<_CharT, _Traits>&) [with ch = char, tr = std::char_traits<char>] ../src/display.cc:8: instantiated from here ../include/row.hh:210: error: conversion from const range<const unsigned int*> to non-scalar type const row<const unsigned int> requested ../include/powerset.hh: In member function bool powerset<E, alloc>::insert(range<U>) [with R = wchar_t, E = wchar_t, alloc = standardAllocator]: ../include/powerset.hh:863: instantiated from std::pair<typename powerset<E, alloc>::iterator, bool> powerset<E, alloc>::insert(const E&) [with E = wchar_t, alloc = standardAllocator] ../include/powerset.hh:533: instantiated from powerset<E, alloc>& powerset<E, alloc>::operator<<(const E&) [with E = wchar_t, alloc = standardAllocator] ../include/display.hh:200: instantiated from basicDisplay<ch, tr>::basicDisplay(std::basic_ostream<_CharT, _Traits>&) [with ch = wchar_t, tr = std::char_traits<wchar_t>] ../src/display.cc:17: instantiated from here ../include/powerset.hh:889: error: no matching function for call to newRow(int, range<wchar_t>&) ../include/row.hh: In member function row<void>::operator row<T>() [with T = unsigned int]: ../include/accum.hh:363: instantiated from row<R> accum<alloc>::frame<T>::space() [with T = unsigned int, alloc = standardAllocator] ../include/accum.hh:250: instantiated from accum<alloc>::frame<T>::frame(accum<alloc>&) [with T = unsigned int, alloc = standardAllocator] ../include/powerset.hh:1026: instantiated from row<range<T> > powerset<E, alloc>::ranges(row<R>) [with R = unsigned int, E = unsigned int, alloc = standardAllocator] ../include/powerset.hh:479: instantiated from powerset<E, alloc>::powerset(row<R>, const alloc<range<T> >&) [with R = unsigned int, E = unsigned int, alloc = standardAllocator] ../include/display.hh:199: instantiated from basicDisplay<ch, tr>::basicDisplay(std::basic_ostream<_CharT, _Traits>&) [with ch = char, tr = std::char_traits<char>] ../src/display.cc:8: instantiated from here ../include/row.hh:786: error: conversion from const range<size_t*> to non-scalar type row<unsigned int> requested ../include/row.hh: In member function row<void>::operator row<T>() [with T = char]: ../include/allocator.hh:484: instantiated from void allocatorMixin<void, D>::deallocate(row<void>) [with D = standardAllocator] ../include/accum.hh:226: instantiated from void accum<alloc>::spare(row<void>) [with alloc = standardAllocator] ../include/accum.hh:262: instantiated from accum<alloc>::frame<T>::~frame() [with T = range<unsigned int>, alloc = standardAllocator] ../include/powerset.hh:1014: instantiated from row<range<T> > powerset<E, alloc>::ranges(row<R>) [with R = unsigned int, E = unsigned int, alloc = standardAllocator] ../include/powerset.hh:479: instantiated from powerset<E, alloc>::powerset(row<R>, const alloc<range<T> >&) [with R = unsigned int, E = unsigned int, alloc = standardAllocator] ../include/display.hh:199: instantiated from basicDisplay<ch, tr>::basicDisplay(std::basic_ostream<_CharT, _Traits>&) [with ch = char, tr = std::char_traits<char>] ../src/display.cc:8: instantiated from here ../include/row.hh:786: error: conversion from const range<char*> to non-scalar type row<char> requested ../include/row.hh: In member function row<T>::operator const row<const T>() const [with T = wchar_t]: ../include/display.hh:345: instantiated from void basicDisplay<ch, tr>::textBreak() [with ch = wchar_t, tr = std::char_traits<wchar_t>] ../include/display.hh:157: instantiated from int basicDisplay<ch, tr>::sync() [with ch = wchar_t, tr = std::char_traits<wchar_t>] ../include/display.hh:99: instantiated from basicDisplay<ch, tr>::~basicDisplay() [with ch = wchar_t, tr = std::char_traits<wchar_t>] ../src/display.cc:20: instantiated from here ../include/row.hh:210: error: conversion from const range<const wchar_t*> to non-scalar type const row<const wchar_t> requested ../include/row.hh: In member function row<T>::operator const row<const T>() const [with T = char]: ../include/display.hh:345: instantiated from void basicDisplay<ch, tr>::textBreak() [with ch = char, tr = std::char_traits<char>] ../include/display.hh:157: instantiated from int basicDisplay<ch, tr>::sync() [with ch = char, tr = std::char_traits<char>] ../include/display.hh:99: instantiated from basicDisplay<ch, tr>::~basicDisplay() [with ch = char, tr = std::char_traits<char>] ../src/display.cc:20: instantiated from here ../include/row.hh:210: error: conversion from const range<const char*> to non-scalar type const row<const char> requested
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26266