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