skipping 4 instantiation contexts

Krzysztof Żelechowski giecrilj@stegny.2a.pl
Mon Nov 28 14:43:00 GMT 2011


Code:
> #include<iostream>
> #include<utility>
> #include<boost/fusion/include/std_pair.hpp>
> #include<boost/fusion/include/io.hpp>
> #include<boost/fusion/include/transform.hpp>
> int main ()
> {
>    ::boost:: fusion:: result_of:: transform
>        <  ::std:: pair<  int, int>  const, int>:: type
>    const&v ((::boost:: fusion:: transform (::std:: make_pair (0, 01), 01)));
>    // fails in boost:: result_of<  int>
> return  ::std:: cout<<  v<<  '\n'?
> +EXIT_SUCCESS: +EXIT_FAILURE; }
The code is (obviously) ill-formed and it does not compile, but it is 
not the point.  I get the following message:
> /usr/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp:48:1:   [ 
> skipping 4 instantiation contexts ]
Can I get a full traceback?  I am interested in what happens in the guts 
(in particular, operator *).  Of course, I could try to reproduce the 
context of the caller explicitly but that is rather troublesome.  In 
this particular case, it requires the following code:
> typedef
> ::boost:: fusion:: result_of:: begin
> <  
> ::boost:: fusion:: transform_view<  ::std:: pair<  int, int>  const, int>  >::
> type
> const&offending_iterator_20;
> template
> void ::boost:: fusion:: detail:: print_sequence_loop:: call
> (::std:: ostream&, offending_iterator_20, offending_iterator_20,
>   boost:: mpl:: false_);
Chris



More information about the Gcc-help mailing list