fix map pair_type error and add self_define_less test