add: rule<scanner<>, parser_context, parser_tag<1> > r1; rule<scanner<>, parser_context, parser_tag<2> > r2; r1 = r2; assert(r1.id() == 1); assert(r2.id() == 2);
context: rule_tests(){    rule<>  a = ch_p('a');    rule<>  b = ch_p('b');    rule<>  c = ch_p('c');    BOOST_SPIRIT_DEBUG_RULE(a);    BOOST_SPIRIT_DEBUG_RULE(b);    BOOST_SPIRIT_DEBUG_RULE(c);    parse_info<char const*> pi;    rule<>  start = *(a | b | c);    BOOST_SPIRIT_DEBUG_RULE(start);    pi = parse("abcabcacb", start);    assert(pi.hit);    assert(pi.full);    assert(pi.length == 9);    assert(*pi.stop == 0);    start   = (a | b) >> (start | b);    pi = parse("aaaabababaaabbb", start);    assert(pi.hit);    assert(pi.full);    assert(pi.length == 15);    assert(*pi.stop == 0);    pi = parse("aaaabababaaabba", start);    assert(pi.hit);    assert(!pi.full);    assert(pi.length == 14);    aliasing_tests();}