From cfd82aef4e5084608f81fcf98908348778e8baa6 Mon Sep 17 00:00:00 2001 From: "Jordan Maples [MSFT]" <49793787+JordanMaples@users.noreply.github.com> Date: Tue, 19 Nov 2019 14:31:21 -0800 Subject: [PATCH] deprecating span::at and span::operator() --- include/gsl/span | 4 ++++ tests/span_tests.cpp | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) 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 edbd118..b047a4e 100644 --- a/tests/span_tests.cpp +++ b/tests/span_tests.cpp @@ -17,8 +17,11 @@ #ifdef _MSC_VER // 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 4189) // from catch +#pragma warning(disable : 26440 26426 26497 4189 4996) +#if __clang__ || __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" #endif #if __clang__ || __GNUC__