mirror of
https://github.com/microsoft/GSL.git
synced 2024-11-03 17:56:43 -05:00
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:
parent
3549e31ba4
commit
87e21400dc
@ -117,6 +117,7 @@ public:
|
|||||||
not_null(const not_null& other) = default;
|
not_null(const not_null& other) = default;
|
||||||
not_null& operator=(const not_null& other) = default;
|
not_null& operator=(const not_null& other) = default;
|
||||||
constexpr details::value_or_reference_return_t<T> get() const
|
constexpr details::value_or_reference_return_t<T> get() const
|
||||||
|
noexcept(noexcept(details::value_or_reference_return_t<T>{ptr_}))
|
||||||
{
|
{
|
||||||
return ptr_;
|
return ptr_;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user