diff --git a/examples/http/server.cc b/examples/http/server.cc index 267dd2034..3148b51c0 100644 --- a/examples/http/server.cc +++ b/examples/http/server.cc @@ -51,9 +51,7 @@ class RequestHandler : public HTTP_SERVER_NS::HttpRequestCallback std::string span_name = request.uri; // extract context from http header - std::map &request_headers = - const_cast &>(request.headers); - const HttpTextMapCarrier> carrier(request_headers); + const HttpTextMapCarrier> carrier(request.headers); auto prop = context::propagation::GlobalTextMapPropagator::GetGlobalPropagator(); auto current_ctx = context::RuntimeContext::GetCurrent(); auto new_context = prop->Extract(carrier, current_ctx); diff --git a/examples/http/tracer_common.h b/examples/http/tracer_common.h index 5aed4ff14..7a451eb3f 100644 --- a/examples/http/tracer_common.h +++ b/examples/http/tracer_common.h @@ -29,7 +29,7 @@ template class HttpTextMapCarrier : public opentelemetry::context::propagation::TextMapCarrier { public: - HttpTextMapCarrier(T &headers) : headers_(headers) {} + HttpTextMapCarrier(const T &headers) : headers_(headers) {} HttpTextMapCarrier() = default; opentelemetry::nostd::string_view Get( opentelemetry::nostd::string_view key) const noexcept override diff --git a/ext/include/opentelemetry/ext/http/client/curl/http_operation_curl.h b/ext/include/opentelemetry/ext/http/client/curl/http_operation_curl.h index c57309ccd..532884776 100644 --- a/ext/include/opentelemetry/ext/http/client/curl/http_operation_curl.h +++ b/ext/include/opentelemetry/ext/http/client/curl/http_operation_curl.h @@ -290,12 +290,11 @@ class HttpOperation inline CURL *GetCurlEasyHandle() noexcept { return curl_resource_.easy_handle; } private: - CURLcode SetCurlPtrOption(CURLoption option, void *value); + CURLcode SetCurlPtrOption(CURLoption option, const void *value); CURLcode SetCurlStrOption(CURLoption option, const char *str) { - void *ptr = const_cast(str); - return SetCurlPtrOption(option, ptr); + return SetCurlPtrOption(option, str); } CURLcode SetCurlBlobOption(CURLoption option, struct curl_blob *blob) diff --git a/ext/src/http/client/curl/http_operation_curl.cc b/ext/src/http/client/curl/http_operation_curl.cc index 0f1bda403..d32f2736f 100644 --- a/ext/src/http/client/curl/http_operation_curl.cc +++ b/ext/src/http/client/curl/http_operation_curl.cc @@ -721,7 +721,7 @@ const char *HttpOperation::GetCurlErrorMessage(CURLcode code) return message; } -CURLcode HttpOperation::SetCurlPtrOption(CURLoption option, void *value) +CURLcode HttpOperation::SetCurlPtrOption(CURLoption option, const void *value) { /* curl_easy_setopt() is a macro with variadic arguments, type unsafe. @@ -912,6 +912,7 @@ CURLcode HttpOperation::Setup() struct curl_blob stblob {}; + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-const-cast) stblob.data = const_cast(data); stblob.len = data_len; stblob.flags = CURL_BLOB_COPY; @@ -954,6 +955,7 @@ CURLcode HttpOperation::Setup() struct curl_blob stblob {}; + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-const-cast) stblob.data = const_cast(data); stblob.len = data_len; stblob.flags = CURL_BLOB_COPY; @@ -1002,6 +1004,7 @@ CURLcode HttpOperation::Setup() struct curl_blob stblob {}; + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-const-cast) stblob.data = const_cast(data); stblob.len = data_len; stblob.flags = CURL_BLOB_COPY; diff --git a/ext/test/w3c_tracecontext_http_test_server/main.cc b/ext/test/w3c_tracecontext_http_test_server/main.cc index 51a55a207..f1eb0e728 100644 --- a/ext/test/w3c_tracecontext_http_test_server/main.cc +++ b/ext/test/w3c_tracecontext_http_test_server/main.cc @@ -203,7 +203,7 @@ int main(int argc, char *argv[]) for (auto &part : body) { - auto headers_2 = const_cast &>(req.headers); + auto headers_2 = req.headers; const TextMapCarrierTest carrier(headers_2); auto current_ctx = context::RuntimeContext::GetCurrent(); diff --git a/sdk/include/opentelemetry/sdk/common/circular_buffer.h b/sdk/include/opentelemetry/sdk/common/circular_buffer.h index 94ebb1f8c..cf85745ab 100644 --- a/sdk/include/opentelemetry/sdk/common/circular_buffer.h +++ b/sdk/include/opentelemetry/sdk/common/circular_buffer.h @@ -38,10 +38,7 @@ class CircularBuffer * * Note: This method must only be called from the consumer thread. */ - CircularBufferRange> Peek() const noexcept - { - return const_cast(this)->PeekImpl(); - } + CircularBufferRange> Peek() const noexcept { return PeekImpl(); } /** * Consume elements from the circular buffer's tail. @@ -172,7 +169,7 @@ class CircularBuffer std::atomic head_{0}; std::atomic tail_{0}; - CircularBufferRange> PeekImpl() noexcept + CircularBufferRange> PeekImpl() const noexcept { uint64_t tail_index = tail_ % capacity_; uint64_t head_index = head_ % capacity_;