[Bug libstdc++/81002] New: std::basic_regex can't be constructed from non-contiguous iterators
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Jun 7 13:59:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81002
Bug ID: 81002
Summary: std::basic_regex can't be constructed from
non-contiguous iterators
Product: gcc
Version: 5.4.1
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: redi at gcc dot gnu.org
Target Milestone: ---
#include <regex>
#include <forward_list>
int main()
{
std::forward_list<char> l;
std::regex r(l.begin(), l.end());
}
In file included from /home/jwakely/gcc/5/include/c++/5.4.1/regex:60:0,
from re.cc:1:
/home/jwakely/gcc/5/include/c++/5.4.1/bits/regex_compiler.h: In instantiation
of ‘std::__detail::__disable_if_contiguous_normal_iter<_FwdIter, _TraitsT>
std::__detail::__compile_nfa(_FwdIter, _FwdIter, const typename
_TraitsT::locale_type&, std::regex_constants::syntax_option_type) [with
_FwdIter = std::_Fwd_list_iterator<char>; _TraitsT =
std::__cxx11::regex_traits<char>;
std::__detail::__disable_if_contiguous_normal_iter<_FwdIter, _TraitsT> =
std::shared_ptr<const std::__detail::_NFA<std::__cxx11::regex_traits<char> > >;
typename _TraitsT::locale_type = std::locale]’:
/home/jwakely/gcc/5/include/c++/5.4.1/bits/regex.h:766:60: required from
‘std::__cxx11::basic_regex< <template-parameter-1-1>, <template-parameter-1-2>
>::basic_regex(_FwdIter, _FwdIter, std::__cxx11::basic_regex<
<template-parameter-1-1>, <template-parameter-1-2> >::locale_type,
std::__cxx11::basic_regex< <template-parameter-1-1>, <template-parameter-1-2>
>::flag_type) [with _FwdIter = std::_Fwd_list_iterator<char>; _Ch_type = char;
_Rx_traits = std::__cxx11::regex_traits<char>; std::__cxx11::basic_regex<
<template-parameter-1-1>, <template-parameter-1-2> >::locale_type =
std::locale; std::__cxx11::basic_regex< <template-parameter-1-1>,
<template-parameter-1-2> >::flag_type =
std::regex_constants::syntax_option_type]’
/home/jwakely/gcc/5/include/c++/5.4.1/bits/regex.h:512:73: required from
‘std::__cxx11::basic_regex< <template-parameter-1-1>, <template-parameter-1-2>
>::basic_regex(_FwdIter, _FwdIter, std::__cxx11::basic_regex<
<template-parameter-1-1>, <template-parameter-1-2> >::flag_type) [with _FwdIter
= std::_Fwd_list_iterator<char>; _Ch_type = char; _Rx_traits =
std::__cxx11::regex_traits<char>; std::__cxx11::basic_regex<
<template-parameter-1-1>, <template-parameter-1-2> >::flag_type =
std::regex_constants::syntax_option_type]’
re.cc:7:36: required from here
/home/jwakely/gcc/5/include/c++/5.4.1/bits/regex_compiler.h:204:27: error: no
matching function for call to ‘__compile_nfa(const char*, const char*, const
locale_type&, std::regex_constants::syntax_option_type&)’
return __compile_nfa(__str.data(), __str.data() + __str.size(), __loc,
^
/home/jwakely/gcc/5/include/c++/5.4.1/bits/regex_compiler.h:187:5: note:
candidate: template<class _FwdIter, class _TraitsT>
std::__detail::__enable_if_contiguous_normal_iter<_FwdIter, _TraitsT>
std::__detail::__compile_nfa(_FwdIter, _FwdIter, const typename
_TraitsT::locale_type&, std::regex_constants::syntax_option_type)
__compile_nfa(_FwdIter __first, _FwdIter __last,
^
/home/jwakely/gcc/5/include/c++/5.4.1/bits/regex_compiler.h:187:5: note:
template argument deduction/substitution failed:
/home/jwakely/gcc/5/include/c++/5.4.1/bits/regex_compiler.h:204:27: note:
couldn't deduce template parameter ‘_TraitsT’
return __compile_nfa(__str.data(), __str.data() + __str.size(), __loc,
^
/home/jwakely/gcc/5/include/c++/5.4.1/bits/regex_compiler.h:199:5: note:
candidate: template<class _FwdIter, class _TraitsT>
std::__detail::__disable_if_contiguous_normal_iter<_FwdIter, _TraitsT>
std::__detail::__compile_nfa(_FwdIter, _FwdIter, const typename
_TraitsT::locale_type&, std::regex_constants::syntax_option_type)
__compile_nfa(_FwdIter __first, _FwdIter __last,
^
/home/jwakely/gcc/5/include/c++/5.4.1/bits/regex_compiler.h:199:5: note:
template argument deduction/substitution failed:
/home/jwakely/gcc/5/include/c++/5.4.1/bits/regex_compiler.h:204:27: note:
couldn't deduce template parameter ‘_TraitsT’
return __compile_nfa(__str.data(), __str.data() + __str.size(), __loc,
^
More information about the Gcc-bugs
mailing list