my_allocator<A> a;
A* p = a.allocate(1);
a.construct(p, A());
my_allocator<A>::template rebind<B>::other b(a);
B* p2 = b.allocate(1);
b.construct(p2, B());
a = b;
a.destroy(p);
a.deallocate(p, 1);
bXlfYWxsb2NhdG9yPEE+IGE7CkEqIHAgPSBhLmFsbG9jYXRlKDEpOwphLmNvbnN0cnVjdChwLCBBKCkpOwpteV9hbGxvY2F0b3I8QT46OnRlbXBsYXRlIHJlYmluZDxCPjo6b3RoZXIgYihhKTsKQiogcDIgPSBiLmFsbG9jYXRlKDEpOwpiLmNvbnN0cnVjdChwMiwgQigpKTsKYSA9IGI7CmEuZGVzdHJveShwKTsKYS5kZWFsbG9jYXRlKHAsIDEpOw==