qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PROTON-1831) [C++ binding] Nested complex types fail compilation with "incomplete type" error
Date Wed, 25 Apr 2018 22:41:00 GMT

    [ https://issues.apache.org/jira/browse/PROTON-1831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16453201#comment-16453201
] 

ASF GitHub Bot commented on PROTON-1831:
----------------------------------------

Github user codecov-io commented on the issue:

    https://github.com/apache/qpid-proton/pull/142
  
    # [Codecov](https://codecov.io/gh/apache/qpid-proton/pull/142?src=pr&el=h1) Report
    > Merging [#142](https://codecov.io/gh/apache/qpid-proton/pull/142?src=pr&el=desc)
into [master](https://codecov.io/gh/apache/qpid-proton/commit/19ceafa529a0432eee294200e6f6056f7817038a?src=pr&el=desc)
will **increase** coverage by `0.06%`.
    > The diff coverage is `93.54%`.
    
    [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-proton/pull/142/graphs/tree.svg?height=150&token=UKKzV9XnFF&src=pr&width=650)](https://codecov.io/gh/apache/qpid-proton/pull/142?src=pr&el=tree)
    
    ```diff
    @@            Coverage Diff             @@
    ##           master     #142      +/-   ##
    ==========================================
    + Coverage   85.88%   85.94%   +0.06%     
    ==========================================
      Files         236      236              
      Lines       30056    30117      +61     
    ==========================================
    + Hits        25813    25885      +72     
    + Misses       4243     4232      -11
    ```
    
    
    | [Impacted Files](https://codecov.io/gh/apache/qpid-proton/pull/142?src=pr&el=tree)
| Coverage Δ | |
    |---|---|---|
    | [c/src/core/transport.c](https://codecov.io/gh/apache/qpid-proton/pull/142/diff?src=pr&el=tree#diff-Yy9zcmMvY29yZS90cmFuc3BvcnQuYw==)
| `90.49% <100%> (+0.02%)` | :arrow_up: |
    | [c/tests/connection\_driver.c](https://codecov.io/gh/apache/qpid-proton/pull/142/diff?src=pr&el=tree#diff-Yy90ZXN0cy9jb25uZWN0aW9uX2RyaXZlci5j)
| `98.8% <92.3%> (-1.2%)` | :arrow_down: |
    | [c/src/core/codec.c](https://codecov.io/gh/apache/qpid-proton/pull/142/diff?src=pr&el=tree#diff-Yy9zcmMvY29yZS9jb2RlYy5j)
| `81.93% <0%> (-0.32%)` | :arrow_down: |
    | [c/tests/test\_tools.h](https://codecov.io/gh/apache/qpid-proton/pull/142/diff?src=pr&el=tree#diff-Yy90ZXN0cy90ZXN0X3Rvb2xzLmg=)
| `86.88% <0%> (+14.75%)` | :arrow_up: |
    | [c/tests/test\_handler.h](https://codecov.io/gh/apache/qpid-proton/pull/142/diff?src=pr&el=tree#diff-Yy90ZXN0cy90ZXN0X2hhbmRsZXIuaA==)
| `100% <0%> (+15.94%)` | :arrow_up: |
    
    ------
    
    [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-proton/pull/142?src=pr&el=continue).
    > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
    > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
    > Powered by [Codecov](https://codecov.io/gh/apache/qpid-proton/pull/142?src=pr&el=footer).
Last update [19ceafa...53b1768](https://codecov.io/gh/apache/qpid-proton/pull/142?src=pr&el=lastupdated).
Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).



> [C++ binding] Nested complex types fail compilation with "incomplete type" error
> --------------------------------------------------------------------------------
>
>                 Key: PROTON-1831
>                 URL: https://issues.apache.org/jira/browse/PROTON-1831
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: cpp-binding
>            Reporter: Kim van der Riet
>            Assignee: Alan Conway
>            Priority: Major
>
> When using nested complex types (for example, a list of maps or an array of lists), the
compiler fails to compile. For example, the following code snippet (saved as {{ctt.cpp}}):
> {noformat}
> #include <map>
> #include <vector>
> #include <proton/types.hpp>
> int main(int, char**) {
>     std::map<proton::value, proton::value> m1 = {{uint8_t(0), "zero"}, {uint8_t(1),
"one"}};
>     std::map<proton::value, proton::value> m2 = {{true, "true"}, {false, "false"}};
>     std::vector<std::map<proton::value, proton::value> > am = {m1, m2};
>     proton::value pv = am;
> }{noformat}
> fails compilation with the following error:
> {noformat}
> In file included from install/include/proton/types.hpp:47:0,
> from ctt.cpp:3:
> install/include/proton/./codec/vector.hpp: In instantiation of ‘proton::codec::encoder&
proton::codec::operator<<(proton::codec::encoder&, const std::vector<_Tp, _Alloc>&)
[with T = std::map<proton::value, proton::value>; A = std::allocator<std::map<proton::value,
proton::value> >]’:
> install/include/proton/./value.hpp:84:11: required from ‘typename proton::value::assignable<T,
proton::value&>::type proton::value::operator=(const T&) [with T = std::vector<std::map<proton::value,
proton::value> >; typename proton::value::assignable<T, proton::value&>::type
= proton::value&]’
> install/include/proton/./value.hpp:79:85: required from ‘proton::value::value(const
T&, typename proton::value::assignable<T>::type*) [with T = std::vector<std::map<proton::value,
proton::value> >; typename proton::value::assignable<T>::type = void]’
> ctt.cpp:9:24: required from here
> install/include/proton/./codec/vector.hpp:39:31: error: incomplete type ‘proton::internal::type_id_of<std::map<proton::value,
proton::value> >’ used in nested name specifier
>     return e << encoder::array(x, internal::type_id_of<T>::value);
>                 ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> {noformat}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message