#include "2090.hpp" #include signed main() { sjtu::any_ptr a = sjtu::make_any_ptr(int(1)); sjtu::any_ptr b = a; a.unwrap() = 2; std::cerr << b.unwrap() << std::endl; // 2 b = new std::string; b.unwrap() = "Hello, world!"; std::cerr << b.unwrap() << std::endl; // Hello, world! try { a.unwrap() = "a"; } catch (const std::exception &e) { std::cerr << e.what() << std::endl; // bad cast } return 0; }