Skip to content

Commit 4dbf939

Browse files
author
Lukasz A.J. Wrona
committed
Manually fix optional
1 parent 43d0602 commit 4dbf939

File tree

2 files changed

+3
-16
lines changed

2 files changed

+3
-16
lines changed

src/nonstd/optional.hpp

+3-4
Original file line numberDiff line numberDiff line change
@@ -516,7 +516,7 @@ union storage_t
516516
typedef struct { align_as_type data[ 1 + ( sizeof(value_type) - 1 ) / sizeof(align_as_type) ]; } aligned_storage_t;
517517
aligned_storage_t data;
518518

519-
# undef optional_ALIGN_AS
519+
#undef optional_ALIGN_AS
520520

521521
#endif // optional_CONFIG_MAX_ALIGN_HACK
522522

@@ -735,8 +735,7 @@ class optional
735735

736736
optional_constexpr value_type const && operator *() const optional_refref_qual
737737
{
738-
assert( has_value() );
739-
return std::move( contained.value() );
738+
return assert( has_value() ), std::move( contained.value() );
740739
}
741740

742741
optional_constexpr14 value_type && operator *() optional_refref_qual
@@ -1071,7 +1070,7 @@ using namespace optional_lite;
10711070
namespace std {
10721071

10731072
template< class T >
1074-
class hash< nonstd::optional<T> >
1073+
struct hash< nonstd::optional<T> >
10751074
{
10761075
public:
10771076
std::size_t operator()( nonstd::optional<T> const & v ) const optional_noexcept

src/util/optional.h

-12
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,19 @@
1313
#if defined __clang__
1414
#pragma clang diagnostic push ignore "-Wall"
1515
#pragma clang diagnostic push ignore "-Wpedantic"
16-
#pragma clang diagnostic push ignore "-Wunknown-pragmas"
17-
#pragma clang diagnostic push ignore "-Wc++1y-extensions"
18-
#pragma clang diagnostic push ignore "-Wc++14-extensions"
1916
#elif defined __GNUC__
2017
#pragma GCC diagnostic push ignore "-Wall"
2118
#pragma GCC diagnostic push ignore "-Wpedantic"
22-
#pragma GCC diagnostic push ignore "-Wunknown-pragmas"
23-
#pragma GCC diagnostic push ignore "-Wc++1y-extensions"
24-
#pragma GCC diagnostic push ignore "-Wc++14-extensions"
2519
#elif defined _MSC_VER
2620
#pragma warning(push)
2721
#endif
2822
#include <nonstd/optional.hpp>
2923
#if defined __clang__
3024
#pragma clang diagnostic pop
3125
#pragma clang diagnostic pop
32-
#pragma clang diagnostic pop
33-
#pragma clang diagnostic pop
34-
#pragma clang diagnostic pop
3526
#elif defined __GNUC__
3627
#pragma GCC diagnostic pop
3728
#pragma GCC diagnostic pop
38-
#pragma GCC diagnostic pop
39-
#pragma GCC diagnostic pop
40-
#pragma GCC diagnostic pop
4129
#elif defined _MSC_VER
4230
#pragma warning(pop)
4331
#endif

0 commit comments

Comments
 (0)