title: Spirit X3 no matching function for call to 'move_to'
body: <p>Why this does not compile?
  (commented <code>r3</code> will compile, but I want semicolon in the rule)</p>
  
  <pre><code>#include &lt;boost/spirit/home/x3.hpp&gt;
  #include &lt;boost/fusion/include/adapt_struct.hpp&gt;
  
  #include &lt;string&gt;
  #include &lt;vector&gt;
  
  struct v
  {
      std::string value;
  };
  
  BOOST_FUSION_ADAPT_STRUCT
  (
      v,
      (std::string, value)
  )
  
  using namespace boost::spirit::x3;
  
  auto r1 = rule&lt;struct s1, std::string&gt;{} = lexeme[+alpha];
  
  auto r2 = rule&lt;struct s2, v&gt;{} = r1;
  
  using ast = std::vector&lt;v&gt;;
  
  auto r3 = rule&lt;struct s3, ast&gt;{} = *(r2 &gt;&gt; ';');
  //auto r3 = rule&lt;struct s3, ast&gt;{} = *r2;
  
  int main()
  {
      std::string script("a;");
      auto begin = script.begin();
      auto   end = script.end();
  
      ast a;
  
      phrase_parse(begin, end, r3, space, a);
  
      return a.size();
  }
  </code></pre>