mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-28 18:50:53 +00:00
This is a small correctness change. According to cppreference.com [1], derived classes of `std::exception` are not permitted to throw exceptions when they are copied. To satisfy this requirement for `auth::roles_argument_exception`, we store exception members as `std::shared_ptr` which has a `noexcept` copy ctor. Since exceptions can cross shards, we cannot use a `seastar::shared_ptr`. This change is motivated by #3021. [1] http://en.cppreference.com/w/cpp/error/exception/exception Signed-off-by: Jesse Haber-Kucharsky <jhaberku@scylladb.com> Message-Id: <7706df0c701b90e7cb309c84a86d9f813461e801.1512501024.git.jhaberku@scylladb.com>