[ 
https://issues.apache.org/jira/browse/AVRO-2081?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Purushotham Nayak updated AVRO-2081:
------------------------------------
    Description: 
Building on {{clang}}  fails with the error below. This is because of the 
{{vector<bool>}} specialization. We need a {{codec_traits}} specialization for 
{{vector<bool>::const_reference}}.

{code}
avro/lang/c++/api/Specific.hh:321:22: error: no member named 'encode' in 
'avro::codec_traits<std::__1::__bit_const_reference<std::__1::vector<bool, 
std::__1::allocator<bool> > > >'
    codec_traits<T>::encode(e, t);
    ~~~~~~~~~~~~~~~~~^
avro/lang/c++/api/Specific.hh:235:23: note: in instantiation of function 
template specialization 
'avro::encode<std::__1::__bit_const_reference<std::__1::vector<bool, 
std::__1::allocator<bool> > > >' requested here
                avro::encode(e, *it);
                      ^
avro/lang/c++/api/Specific.hh:321:22: note: in instantiation of member function 
'avro::codec_traits<std::__1::vector<bool, std::__1::allocator<bool> > 
>::encode' requested here
    codec_traits<T>::encode(e, t);
                     ^
{code}

  was:
Building on {{clang}}  fails with the error below. This is because of the 
{{vector<bool>}} specialization. We need a {{codec_traits}} specialization for 
{{vector<bool>::const_reference}}.

{code}
avro/lang/c++/api/Specific.hh:321:22: error: no member named 'encode' in 
'avro::codec_traits<std::__1::__bit_const_reference<std::__1::vector<bool, 
std::__1::allocator<bool> > > >'
    codec_traits<T>::encode(e, t);
    ~~~~~~~~~~~~~~~~~^
/home/annu/dev/workspace/avro/lang/c++/api/Specific.hh:235:23: note: in 
instantiation of function template specialization 
'avro::encode<std::__1::__bit_const_reference<std::__1::vector<bool, 
std::__1::allocator<bool> > > >' requested here
                avro::encode(e, *it);
                      ^
/home/annu/dev/workspace/avro/lang/c++/api/Specific.hh:321:22: note: in 
instantiation of member function 'avro::codec_traits<std::__1::vector<bool, 
std::__1::allocator<bool> > >::encode' requested here
    codec_traits<T>::encode(e, t);
                     ^
{code}


> Compilation fails with clang (v 3.8.0)
> --------------------------------------
>
>                 Key: AVRO-2081
>                 URL: https://issues.apache.org/jira/browse/AVRO-2081
>             Project: Avro
>          Issue Type: Bug
>          Components: c++
>    Affects Versions: 1.8.2
>         Environment: FreeBSD, clang++ (3.8.0)
>            Reporter: Purushotham Nayak
>            Priority: Minor
>             Fix For: 1.9.0
>
>
> Building on {{clang}}  fails with the error below. This is because of the 
> {{vector<bool>}} specialization. We need a {{codec_traits}} specialization 
> for {{vector<bool>::const_reference}}.
> {code}
> avro/lang/c++/api/Specific.hh:321:22: error: no member named 'encode' in 
> 'avro::codec_traits<std::__1::__bit_const_reference<std::__1::vector<bool, 
> std::__1::allocator<bool> > > >'
>     codec_traits<T>::encode(e, t);
>     ~~~~~~~~~~~~~~~~~^
> avro/lang/c++/api/Specific.hh:235:23: note: in instantiation of function 
> template specialization 
> 'avro::encode<std::__1::__bit_const_reference<std::__1::vector<bool, 
> std::__1::allocator<bool> > > >' requested here
>                 avro::encode(e, *it);
>                       ^
> avro/lang/c++/api/Specific.hh:321:22: note: in instantiation of member 
> function 'avro::codec_traits<std::__1::vector<bool, std::__1::allocator<bool> 
> > >::encode' requested here
>     codec_traits<T>::encode(e, t);
>                      ^
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to