Dmitry Kobets
Dmitry Kobets
Microsoft's GSL currently has a definition for the [`gsl::copy`](https://github.com/microsoft/GSL/blob/b34f7350fe666b3637d150e8abae8691ec3b7343/include/gsl/algorithm) function. However, `gsl::copy` isn't properly mentioned anywhere in the Core Guidelines, including the [GSL: Guidelines support library](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#gsl-guidelines-support-library) section. Should this function...
The current specification [In.force: Enforcement](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#inforce-enforcement) explicitly requires `"message"` in `[[gsl::suppress(tag, justification: "message")]]` to be a string literal, but doesn't require `tag` to be a string literal i.e., `[[gsl::suppress("tag", justification: "message")]]`....
What are the editors' views on the GSL user issue [Provide a "safe" and "simple" way for binary I/O · Issue #1104 · microsoft/GSL (github.com)](https://github.com/microsoft/GSL/issues/1104)?. The Microsoft GSL implementation always...
The specification [In.force: Enforcement](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#inforce-enforcement) allows for `[[gsl::suppress(Rh-public)]]`, where `Rh-public` is the HTML anchor name for [C.134](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rh-public). Is this type of tag still supported? Is there potential for confusion if the...
Are profile names the only way of selecting multiple rules in a single `tag` inside `gsl::suppress`?
[In.force: Enforcement](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#inforce-enforcement) currently specifies only 3 warning "groups", one for each of the 3 profiles: `type`, `bounds`, `lifetime`. However, one might want to be more granular, for instance suppressing all...
The [MSVC Address Sanitizer](https://learn.microsoft.com/en-us/cpp/sanitizers/asan?view=msvc-170) detected a heap-use-after-free in [test\tcp_server_test.cc](https://github.com/Qihoo360/evpp/blob/477033f938fd47dfecde43c82257cd286d9fa38e/test/tcp_server_test.cc#L41). The test-case `testTCPServer1` calls `tcp_client_thread.reset();`, which frees the `TCPClient::loop_` member of `client`: ```cpp TEST_UNIT(testTCPServer1) { // ... std::unique_ptr tcp_client_thread(new evpp::EventLoopThread); //...