зеркало из https://github.com/microsoft/GSL.git
remove gcc noexcept warning (#1122)
Without this change a `gsl::not_null<class_type>` triggers these `noexcept` warnings: ``` .../gsl/include/gsl/pointers:162:50: warning: noexcept-expression evaluates to ‘false’ because of a call to ‘constexpr gsl::details::value_or_reference_return_t<T> gsl::not_null<T>::get() const [with T = class_type*; gsl::details::value_or_reference_return_t<T> = class_type* const]’ [-Wnoexcept] 162 | const not_null<U>& rhs) noexcept(noexcept(lhs.get() == rhs.get())) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .../gsl/include/gsl/pointers:119:55: note: but ‘constexpr gsl::details::value_or_reference_return_t<T> gsl::not_null<T>::get() const [with T = class_type*; gsl::details::value_or_reference_return_t<T> = class_type* const]’ does not throw; perhaps it should be declared ‘noexcept’ 119 | constexpr details::value_or_reference_return_t<T> get() const | ^~~ ``` Co-authored-by: Werner Henze <w.henze@avm.de>
This commit is contained in:
Родитель
3549e31ba4
Коммит
87e21400dc
|
@ -117,6 +117,7 @@ public:
|
|||
not_null(const not_null& other) = default;
|
||||
not_null& operator=(const not_null& other) = default;
|
||||
constexpr details::value_or_reference_return_t<T> get() const
|
||||
noexcept(noexcept(details::value_or_reference_return_t<T>{ptr_}))
|
||||
{
|
||||
return ptr_;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче