fix: directly access to member if type is the same

This commit is contained in:
ToruNiina
2024-07-05 23:32:00 +09:00
parent edbea2f483
commit 0cc0ef959b

View File

@@ -244,13 +244,13 @@ struct result
{ {
if(other.is_ok()) if(other.is_ok())
{ {
auto tmp = ::new(std::addressof(this->succ_)) success_type(other.as_ok()); auto tmp = ::new(std::addressof(this->succ_)) success_type(other.succ_);
assert(tmp == std::addressof(this->succ_)); assert(tmp == std::addressof(this->succ_));
(void)tmp; (void)tmp;
} }
else else
{ {
auto tmp = ::new(std::addressof(this->fail_)) failure_type(other.as_err()); auto tmp = ::new(std::addressof(this->fail_)) failure_type(other.fail_);
assert(tmp == std::addressof(this->fail_)); assert(tmp == std::addressof(this->fail_));
(void)tmp; (void)tmp;
} }
@@ -259,13 +259,13 @@ struct result
{ {
if(other.is_ok()) if(other.is_ok())
{ {
auto tmp = ::new(std::addressof(this->succ_)) success_type(std::move(other.as_ok())); auto tmp = ::new(std::addressof(this->succ_)) success_type(std::move(other.succ_));
assert(tmp == std::addressof(this->succ_)); assert(tmp == std::addressof(this->succ_));
(void)tmp; (void)tmp;
} }
else else
{ {
auto tmp = ::new(std::addressof(this->fail_)) failure_type(std::move(other.as_err())); auto tmp = ::new(std::addressof(this->fail_)) failure_type(std::move(other.fail_));
assert(tmp == std::addressof(this->fail_)); assert(tmp == std::addressof(this->fail_));
(void)tmp; (void)tmp;
} }
@@ -276,13 +276,13 @@ struct result
this->cleanup(); this->cleanup();
if(other.is_ok()) if(other.is_ok())
{ {
auto tmp = ::new(std::addressof(this->succ_)) success_type(other.as_ok()); auto tmp = ::new(std::addressof(this->succ_)) success_type(other.succ_);
assert(tmp == std::addressof(this->succ_)); assert(tmp == std::addressof(this->succ_));
(void)tmp; (void)tmp;
} }
else else
{ {
auto tmp = ::new(std::addressof(this->fail_)) failure_type(other.as_err()); auto tmp = ::new(std::addressof(this->fail_)) failure_type(other.fail_);
assert(tmp == std::addressof(this->fail_)); assert(tmp == std::addressof(this->fail_));
(void)tmp; (void)tmp;
} }
@@ -294,13 +294,13 @@ struct result
this->cleanup(); this->cleanup();
if(other.is_ok()) if(other.is_ok())
{ {
auto tmp = ::new(std::addressof(this->succ_)) success_type(std::move(other.as_ok())); auto tmp = ::new(std::addressof(this->succ_)) success_type(std::move(other.succ_));
assert(tmp == std::addressof(this->succ_)); assert(tmp == std::addressof(this->succ_));
(void)tmp; (void)tmp;
} }
else else
{ {
auto tmp = ::new(std::addressof(this->fail_)) failure_type(std::move(other.as_err())); auto tmp = ::new(std::addressof(this->fail_)) failure_type(std::move(other.fail_));
assert(tmp == std::addressof(this->fail_)); assert(tmp == std::addressof(this->fail_));
(void)tmp; (void)tmp;
} }