diff --git a/include/gsl/span b/include/gsl/span index 59bd121..72b015f 100644 --- a/include/gsl/span +++ b/include/gsl/span @@ -510,8 +510,12 @@ public: return data()[idx]; } + // at and operator() are deprecated to align to the public member functions of std::span + [[deprecated("Use operator[]")]] constexpr reference at(index_type idx) const { return this->operator[](idx); } + [[deprecated("Use operator[]")]] constexpr reference operator()(index_type idx) const { return this->operator[](idx); } + constexpr pointer data() const noexcept { return storage_.data(); } // [span.iter], span iterator support diff --git a/tests/span_tests.cpp b/tests/span_tests.cpp index d22dc08..6ef9b93 100644 --- a/tests/span_tests.cpp +++ b/tests/span_tests.cpp @@ -18,7 +18,12 @@ // blanket turn off warnings from CppCoreCheck from catch // so people aren't annoyed by them when running the tool. #pragma warning(disable : 26440 26426 26497) // from catch +#pragma warning(disable : 4996) +#endif +#if __clang__ || __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" #endif #include // for AssertionHandler, StringRef, CHECK, TEST_... @@ -1562,3 +1567,6 @@ TEST_CASE("default_constructible") CHECK((!std::is_default_constructible>::value)); } +#if __clang__ || __GNUC__ +#pragma GCC diagnostic pop +#endif