aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexSm <alex@ydb.tech>2023-12-22 20:30:08 +0100
committerGitHub <noreply@github.com>2023-12-22 20:30:08 +0100
commit6b4f46a6883f21c16eef367106167ea59932515e (patch)
tree5833709b16bba3948f15e88b9038229c5065605b
parenta8b737f2a6df02f6e45ed703246c75f0f4cf7a34 (diff)
downloadydb-6b4f46a6883f21c16eef367106167ea59932515e.tar.gz
Import libs 3 (#679)
-rw-r--r--build/conf/java.conf22
-rw-r--r--build/external_resources/ymake/public.resources.json10
-rw-r--r--build/external_resources/ymake/resources.json10
-rw-r--r--build/mapping.conf.json16
-rw-r--r--build/platform/test_tool/ya.make2
-rw-r--r--build/sysincl/darwin.yml1
-rw-r--r--build/ymake.core.conf2
-rw-r--r--contrib/libs/poco/Foundation/include/Poco/UTF32Encoding.h9
-rw-r--r--contrib/libs/poco/Foundation/src/UTF32Encoding.cpp42
-rw-r--r--contrib/python/importlib-metadata/py3/.dist-info/METADATA2
-rw-r--r--contrib/python/importlib-metadata/py3/importlib_metadata/__init__.py42
-rw-r--r--contrib/python/importlib-metadata/py3/importlib_metadata/diagnose.py21
-rw-r--r--contrib/python/importlib-metadata/py3/ya.make3
-rw-r--r--contrib/restricted/boost/type_index/include/boost/type_index.hpp26
-rw-r--r--contrib/restricted/boost/type_index/include/boost/type_index/ctti_type_index.hpp65
-rw-r--r--contrib/restricted/boost/type_index/include/boost/type_index/detail/compile_time_type_info.hpp132
-rw-r--r--contrib/restricted/boost/type_index/include/boost/type_index/detail/ctti_register_class.hpp12
-rw-r--r--contrib/restricted/boost/type_index/include/boost/type_index/detail/stl_register_class.hpp10
-rw-r--r--contrib/restricted/boost/type_index/include/boost/type_index/stl_type_index.hpp94
-rw-r--r--contrib/restricted/boost/type_index/include/boost/type_index/type_index_facade.hpp77
-rw-r--r--contrib/restricted/boost/type_index/ya.make7
-rw-r--r--library/cpp/protobuf/json/json_writer_output.h5
-rw-r--r--library/cpp/protobuf/json/proto2json_printer.cpp10
-rw-r--r--library/cpp/protobuf/json/proto2json_printer.h2
-rw-r--r--library/cpp/protobuf/json/ut/proto2json_ut.cpp44
-rw-r--r--library/cpp/protobuf/json/ut/string_transform_ut.cpp2
-rw-r--r--library/python/runtime_py3/importer.pxi3
-rw-r--r--yt/yt/client/api/etc_client.h2
-rw-r--r--yt/yt/client/complex_types/yson_format_conversion.cpp2
-rw-r--r--yt/yt/client/object_client/helpers.h2
-rw-r--r--yt/yt/client/unittests/comparator_ut.cpp12
-rw-r--r--yt/yt/client/unittests/composite_compare_ut.cpp2
-rw-r--r--yt/yt/client/unittests/logical_type_ut.cpp2
-rw-r--r--yt/yt/core/actions/unittests/bind_ut.cpp20
-rw-r--r--yt/yt/core/bus/tcp/connection.cpp2
-rw-r--r--yt/yt/core/concurrency/unittests/scheduler_ut.cpp4
-rw-r--r--yt/yt/core/misc/unittests/callback_ut.cpp10
-rw-r--r--yt/yt/core/profiling/unittests/timing_ut.cpp2
-rw-r--r--yt/yt/core/rpc/config.cpp22
-rw-r--r--yt/yt/core/rpc/config.h34
-rw-r--r--yt/yt/core/rpc/grpc/config.cpp12
-rw-r--r--yt/yt/core/rpc/grpc/config.h18
-rw-r--r--yt/yt/core/rpc/grpc/public.h1
-rw-r--r--yt/yt/core/rpc/public.h2
-rw-r--r--yt/yt/core/rpc/server.h4
-rw-r--r--yt/yt/core/rpc/server_detail.cpp54
-rw-r--r--yt/yt/core/rpc/server_detail.h9
-rw-r--r--yt/yt/core/rpc/service_detail.cpp1
-rw-r--r--yt/yt/core/yson/protobuf_interop.cpp2
-rw-r--r--yt/yt/library/formats/skiff_writer.cpp4
-rw-r--r--yt/yt/library/formats/web_json_writer.cpp2
-rw-r--r--yt/yt_proto/yt/client/node_tracker_client/proto/node_directory.proto2
52 files changed, 420 insertions, 478 deletions
diff --git a/build/conf/java.conf b/build/conf/java.conf
index d161c0d4c0..2933045098 100644
--- a/build/conf/java.conf
+++ b/build/conf/java.conf
@@ -74,6 +74,24 @@ multimodule JAVA_PROGRAM {
}
}
+### Usage JUNIT_TESTS_JAR(path/to/some/peer realname.jar)
+###
+### Specifies jar to search test suites and test cases. By default tests are
+### searched in the jar compild by JTEST or JUNIT5 module sources. This macro
+### allows to specify diferent jar to search tests.
+###
+### Only one jar file is used to search tests. If this macro invoked multiple
+### times (which is not reccomended practice) only the last invocation will
+### have effect.
+###
+### If this macro is used no test from the module build by current ya.make
+### will be searched and executed.
+macro JUNIT_TESTS_JAR(Dir, Jar) {
+ SET(UNITTEST_DIR $Dir)
+ PEERDIR($Dir)
+ SET(UNITTEST_MOD $Dir/$Jar)
+}
+
BUILD_JUNIT5_JAR_SEM=$BUILD_JAR_SEM && junit5_test
multimodule JUNIT5 {
@@ -102,6 +120,7 @@ multimodule JUNIT5 {
.FINAL_TARGET=no
.DEFAULT_NAME_GENERATOR=FullPath
.SEM=BUILD_JUNIT5_JAR_SEM
+ .IGNORED=JUNIT_TESTS_JAR
PEERDIR+=devtools/junit5-runner
PEERDIR+=build/platform/java/jacoco-agent
@@ -157,6 +176,7 @@ multimodule JTEST {
.FINAL_TARGET=no
.DEFAULT_NAME_GENERATOR=FullPath
.SEM=BUILD_JUNIT4_JAR_SEM
+ .IGNORED=JUNIT_TESTS_JAR
SET(MODULE_TYPE JTEST)
DEPENDS(contrib/java/org/sonarsource/scanner/cli/sonar-scanner-cli/2.8)
@@ -197,6 +217,7 @@ multimodule JTEST_FOR {
# |-> FORBID_CONFLICT_DM_RECENT = FAIL (because downgrade from v1.4 to v1.1 is detected before understanding that v1.4 was excuded on the examined path)
.IGNORED=JAVA_SRCS RUN_JAVA_PROGRAM JAVA_DEPENDENCIES_CONFIGURATION PROVIDES FEATURE_VERSION
.ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE
+ .RESTRICTED=JUNIT_TESTS_JAR
.PEERDIRSELF=JAR_COMPILATION
.SEM=PROGRAM_AND_TESTS_CP_COLLECTING_NODES_SEM
@@ -210,6 +231,7 @@ multimodule JTEST_FOR {
.FINAL_TARGET=no
.DEFAULT_NAME_GENERATOR=FullPath
.SEM=BUILD_JUNIT4_JAR_SEM
+ .RESTRICTED=JUNIT_TESTS_JAR
SET(MODULE_TYPE JTEST_FOR)
DEPENDS(contrib/java/org/sonarsource/scanner/cli/sonar-scanner-cli/2.8)
diff --git a/build/external_resources/ymake/public.resources.json b/build/external_resources/ymake/public.resources.json
index fa16b227cf..cfe29ad8eb 100644
--- a/build/external_resources/ymake/public.resources.json
+++ b/build/external_resources/ymake/public.resources.json
@@ -1,19 +1,19 @@
{
"by_platform": {
"darwin": {
- "uri": "sbr:5550834592"
+ "uri": "sbr:5569062376"
},
"darwin-arm64": {
- "uri": "sbr:5550838146"
+ "uri": "sbr:5569072879"
},
"linux": {
- "uri": "sbr:5550826871"
+ "uri": "sbr:5569070627"
},
"linux-aarch64": {
- "uri": "sbr:5550843115"
+ "uri": "sbr:5569095361"
},
"win32-clang-cl": {
- "uri": "sbr:5550838970"
+ "uri": "sbr:5569066861"
}
}
}
diff --git a/build/external_resources/ymake/resources.json b/build/external_resources/ymake/resources.json
index 9bd6c43508..0e5983e056 100644
--- a/build/external_resources/ymake/resources.json
+++ b/build/external_resources/ymake/resources.json
@@ -1,19 +1,19 @@
{
"by_platform": {
"darwin": {
- "uri": "sbr:5550837873"
+ "uri": "sbr:5569055879"
},
"darwin-arm64": {
- "uri": "sbr:5550841763"
+ "uri": "sbr:5569046692"
},
"linux": {
- "uri": "sbr:5550823946"
+ "uri": "sbr:5569080477"
},
"linux-aarch64": {
- "uri": "sbr:5550840880"
+ "uri": "sbr:5569058127"
},
"win32-clang-cl": {
- "uri": "sbr:5550839664"
+ "uri": "sbr:5569069854"
}
}
}
diff --git a/build/mapping.conf.json b/build/mapping.conf.json
index 160a3bb151..9d47061c24 100644
--- a/build/mapping.conf.json
+++ b/build/mapping.conf.json
@@ -86,6 +86,7 @@
"5523579199": "https://devtools-registry.s3.yandex.net/5523579199",
"5530948376": "https://devtools-registry.s3.yandex.net/5530948376",
"5545691160": "https://devtools-registry.s3.yandex.net/5545691160",
+ "5559524010": "https://devtools-registry.s3.yandex.net/5559524010",
"5486731632": "https://devtools-registry.s3.yandex.net/5486731632",
"5514350352": "https://devtools-registry.s3.yandex.net/5514350352",
"5514360398": "https://devtools-registry.s3.yandex.net/5514360398",
@@ -95,6 +96,7 @@
"5530946535": "https://devtools-registry.s3.yandex.net/5530946535",
"5545693767": "https://devtools-registry.s3.yandex.net/5545693767",
"5545709989": "https://devtools-registry.s3.yandex.net/5545709989",
+ "5559537477": "https://devtools-registry.s3.yandex.net/5559537477",
"5559549864": "https://devtools-registry.s3.yandex.net/5559549864",
"4307890075": "https://devtools-registry.s3.yandex.net/4307890075",
"5517245192": "https://devtools-registry.s3.yandex.net/5517245192",
@@ -125,18 +127,23 @@
"5476908047": "https://devtools-registry.s3.yandex.net/5476908047",
"5509380757": "https://devtools-registry.s3.yandex.net/5509380757",
"5550834592": "https://devtools-registry.s3.yandex.net/5550834592",
+ "5569062376": "https://devtools-registry.s3.yandex.net/5569062376",
"5476891477": "https://devtools-registry.s3.yandex.net/5476891477",
"5509369518": "https://devtools-registry.s3.yandex.net/5509369518",
"5550838146": "https://devtools-registry.s3.yandex.net/5550838146",
+ "5569072879": "https://devtools-registry.s3.yandex.net/5569072879",
"5476896849": "https://devtools-registry.s3.yandex.net/5476896849",
"5509364024": "https://devtools-registry.s3.yandex.net/5509364024",
"5550826871": "https://devtools-registry.s3.yandex.net/5550826871",
+ "5569070627": "https://devtools-registry.s3.yandex.net/5569070627",
"5476895322": "https://devtools-registry.s3.yandex.net/5476895322",
"5509360013": "https://devtools-registry.s3.yandex.net/5509360013",
"5550843115": "https://devtools-registry.s3.yandex.net/5550843115",
+ "5569095361": "https://devtools-registry.s3.yandex.net/5569095361",
"5476896707": "https://devtools-registry.s3.yandex.net/5476896707",
"5509388614": "https://devtools-registry.s3.yandex.net/5509388614",
"5550838970": "https://devtools-registry.s3.yandex.net/5550838970",
+ "5569066861": "https://devtools-registry.s3.yandex.net/5569066861",
"2980468199": "https://devtools-registry.s3.yandex.net/2980468199",
"5562224408": "https://devtools-registry.s3.yandex.net/5562224408"
},
@@ -226,6 +233,7 @@
"5523579199": "devtools/ya/test/programs/test_tool/bin/test_tool for linux",
"5530948376": "devtools/ya/test/programs/test_tool/bin/test_tool for linux",
"5545691160": "devtools/ya/test/programs/test_tool/bin/test_tool for linux",
+ "5559524010": "devtools/ya/test/programs/test_tool/bin/test_tool for linux",
"5486731632": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
"5514350352": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
"5514360398": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
@@ -235,6 +243,7 @@
"5530946535": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
"5545693767": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
"5545709989": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
+ "5559537477": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
"5559549864": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux",
"4307890075": "flake8_linter for linux",
"5517245192": "flake8_linter for linux",
@@ -265,21 +274,26 @@
"5476908047": "ymake for darwin",
"5509380757": "ymake for darwin",
"5550834592": "ymake for darwin",
+ "5569062376": "ymake for darwin",
"5476891477": "ymake for darwin-arm64",
"5509369518": "ymake for darwin-arm64",
"5550838146": "ymake for darwin-arm64",
+ "5569072879": "ymake for darwin-arm64",
"5476896849": "ymake for linux",
"5509364024": "ymake for linux",
"5550826871": "ymake for linux",
+ "5569070627": "ymake for linux",
"5476895322": "ymake for linux-aarch64",
"5509360013": "ymake for linux-aarch64",
"5550843115": "ymake for linux-aarch64",
+ "5569095361": "ymake for linux-aarch64",
"5476896707": "ymake.exe for win32-clang-cl",
"5509388614": "ymake.exe for win32-clang-cl",
"5550838970": "ymake.exe for win32-clang-cl",
+ "5569066861": "ymake.exe for win32-clang-cl",
"2980468199": "ytexec for linux",
"5562224408": "ytexec for linux"
},
"resources_info": {},
"tasks": {}
-}
+} \ No newline at end of file
diff --git a/build/platform/test_tool/ya.make b/build/platform/test_tool/ya.make
index 6d25550c52..4394136e14 100644
--- a/build/platform/test_tool/ya.make
+++ b/build/platform/test_tool/ya.make
@@ -11,7 +11,7 @@ IF (TEST_TOOL3_HOST_LOCAL)
MESSAGE(WARNING Host test tool3 $TEST_TOOL3_HOST_LOCAL will be used)
ENDIF()
-IF (OPENSOURCE)
+IF (OPENSOURCE AND USE_OPENSOURCE_TEST_TOOL)
INCLUDE(host_os.ya.make.inc)
ELSE()
INCLUDE(host.ya.make.inc)
diff --git a/build/sysincl/darwin.yml b/build/sysincl/darwin.yml
index ec31605b77..54e5295fa2 100644
--- a/build/sysincl/darwin.yml
+++ b/build/sysincl/darwin.yml
@@ -203,6 +203,7 @@
- CoreTelephony/CTTelephonyNetworkInfo.h
- CoreText/CoreText.h
- CoreVideo/CoreVideo.h
+ - DeviceCheck/DCAppAttestService.h
- Foundation/Foundation.h
- Foundation/NSException.h
- Foundation/NSString.h
diff --git a/build/ymake.core.conf b/build/ymake.core.conf
index 5161f03424..3a236876bc 100644
--- a/build/ymake.core.conf
+++ b/build/ymake.core.conf
@@ -39,6 +39,8 @@ FORCE_COVERAGE_ENABLED=
FORCE_COVERAGE_DISABLED=
OBJADDE_LIB=
OBJADDE_LIB_GLOBAL=
+TRUE=yes
+FALSE=no
MODULE_PREFIX=
MODULE_SUFFIX=
diff --git a/contrib/libs/poco/Foundation/include/Poco/UTF32Encoding.h b/contrib/libs/poco/Foundation/include/Poco/UTF32Encoding.h
index 6f8af525a6..02b10b8a7e 100644
--- a/contrib/libs/poco/Foundation/include/Poco/UTF32Encoding.h
+++ b/contrib/libs/poco/Foundation/include/Poco/UTF32Encoding.h
@@ -68,6 +68,15 @@ public:
int convert(int ch, unsigned char* bytes, int length) const;
int queryConvert(const unsigned char* bytes, int length) const;
int sequenceLength(const unsigned char* bytes, int length) const;
+
+protected:
+ static int safeToInt(Poco::UInt32 value)
+ {
+ if (value <= 0x10FFFF)
+ return static_cast<int>(value);
+ else
+ return -1;
+ }
private:
bool _flipBytes;
diff --git a/contrib/libs/poco/Foundation/src/UTF32Encoding.cpp b/contrib/libs/poco/Foundation/src/UTF32Encoding.cpp
index db0cfe21d7..687a48c96c 100644
--- a/contrib/libs/poco/Foundation/src/UTF32Encoding.cpp
+++ b/contrib/libs/poco/Foundation/src/UTF32Encoding.cpp
@@ -30,22 +30,22 @@ const char* UTF32Encoding::_names[] =
const TextEncoding::CharacterMap UTF32Encoding::_charMap =
{
- /* 00 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
- /* 10 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
- /* 20 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
- /* 30 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
- /* 40 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
- /* 50 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
- /* 60 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
- /* 70 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
- /* 80 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
- /* 90 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
- /* a0 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
- /* b0 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
- /* c0 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
- /* d0 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
- /* e0 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
- /* f0 */ -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
+ /* 00 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
+ /* 10 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
+ /* 20 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
+ /* 30 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
+ /* 40 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
+ /* 50 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
+ /* 60 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
+ /* 70 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
+ /* 80 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
+ /* 90 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
+ /* a0 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
+ /* b0 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
+ /* c0 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
+ /* d0 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
+ /* e0 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
+ /* f0 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
};
@@ -118,7 +118,7 @@ const TextEncoding::CharacterMap& UTF32Encoding::characterMap() const
int UTF32Encoding::convert(const unsigned char* bytes) const
{
UInt32 uc;
- unsigned char* p = (unsigned char*) &uc;
+ unsigned char* p = reinterpret_cast<unsigned char*>(&uc);
*p++ = *bytes++;
*p++ = *bytes++;
*p++ = *bytes++;
@@ -129,7 +129,7 @@ int UTF32Encoding::convert(const unsigned char* bytes) const
ByteOrder::flipBytes(uc);
}
- return uc;
+ return safeToInt(uc);
}
@@ -138,7 +138,7 @@ int UTF32Encoding::convert(int ch, unsigned char* bytes, int length) const
if (bytes && length >= 4)
{
UInt32 ch1 = _flipBytes ? ByteOrder::flipBytes((UInt32) ch) : (UInt32) ch;
- unsigned char* p = (unsigned char*) &ch1;
+ unsigned char* p = reinterpret_cast<unsigned char*>(&ch1);
*bytes++ = *p++;
*bytes++ = *p++;
*bytes++ = *p++;
@@ -155,14 +155,14 @@ int UTF32Encoding::queryConvert(const unsigned char* bytes, int length) const
if (length >= 4)
{
UInt32 uc;
- unsigned char* p = (unsigned char*) &uc;
+ unsigned char* p = reinterpret_cast<unsigned char*>(&uc);
*p++ = *bytes++;
*p++ = *bytes++;
*p++ = *bytes++;
*p++ = *bytes++;
if (_flipBytes)
ByteOrder::flipBytes(uc);
- return uc;
+ ret = safeToInt(uc);
}
return ret;
diff --git a/contrib/python/importlib-metadata/py3/.dist-info/METADATA b/contrib/python/importlib-metadata/py3/.dist-info/METADATA
index 9e58c1d38e..a344859f17 100644
--- a/contrib/python/importlib-metadata/py3/.dist-info/METADATA
+++ b/contrib/python/importlib-metadata/py3/.dist-info/METADATA
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: importlib-metadata
-Version: 6.9.0
+Version: 7.0.0
Summary: Read metadata from Python packages
Home-page: https://github.com/python/importlib_metadata
Author: Jason R. Coombs
diff --git a/contrib/python/importlib-metadata/py3/importlib_metadata/__init__.py b/contrib/python/importlib-metadata/py3/importlib_metadata/__init__.py
index 8416afdbd6..cd015707b1 100644
--- a/contrib/python/importlib-metadata/py3/importlib_metadata/__init__.py
+++ b/contrib/python/importlib-metadata/py3/importlib_metadata/__init__.py
@@ -3,7 +3,9 @@ import re
import abc
import csv
import sys
+import json
import email
+import types
import inspect
import pathlib
import operator
@@ -20,7 +22,6 @@ from ._compat import (
NullFinder,
StrPath,
install,
- pypy_partial,
)
from ._functools import method_cache, pass_none
from ._itertools import always_iterable, unique_everseen
@@ -131,34 +132,7 @@ class Sectioned:
return line and not line.startswith('#')
-class DeprecatedTuple:
- """
- Provide subscript item access for backward compatibility.
-
- >>> recwarn = getfixture('recwarn')
- >>> ep = EntryPoint(name='name', value='value', group='group')
- >>> ep[:]
- ('name', 'value', 'group')
- >>> ep[0]
- 'name'
- >>> len(recwarn)
- 1
- """
-
- # Do not remove prior to 2023-05-01 or Python 3.13
- _warn = functools.partial(
- warnings.warn,
- "EntryPoint tuple interface is deprecated. Access members by name.",
- DeprecationWarning,
- stacklevel=pypy_partial(2),
- )
-
- def __getitem__(self, item):
- self._warn()
- return self._key()[item]
-
-
-class EntryPoint(DeprecatedTuple):
+class EntryPoint:
"""An entry point as defined by Python packaging conventions.
See `the packaging docs on entry points
@@ -630,6 +604,16 @@ class Distribution(DeprecatedNonAbstract):
space = url_req_space(section.value)
yield section.value + space + quoted_marker(section.name)
+ @property
+ def origin(self):
+ return self._load_json('direct_url.json')
+
+ def _load_json(self, filename):
+ return pass_none(json.loads)(
+ self.read_text(filename),
+ object_hook=lambda data: types.SimpleNamespace(**data),
+ )
+
class DistributionFinder(MetaPathFinder):
"""
diff --git a/contrib/python/importlib-metadata/py3/importlib_metadata/diagnose.py b/contrib/python/importlib-metadata/py3/importlib_metadata/diagnose.py
new file mode 100644
index 0000000000..e405471ac4
--- /dev/null
+++ b/contrib/python/importlib-metadata/py3/importlib_metadata/diagnose.py
@@ -0,0 +1,21 @@
+import sys
+
+from . import Distribution
+
+
+def inspect(path):
+ print("Inspecting", path)
+ dists = list(Distribution.discover(path=[path]))
+ if not dists:
+ return
+ print("Found", len(dists), "packages:", end=' ')
+ print(', '.join(dist.name for dist in dists))
+
+
+def run():
+ for path in sys.path:
+ inspect(path)
+
+
+if __name__ == '__main__':
+ run()
diff --git a/contrib/python/importlib-metadata/py3/ya.make b/contrib/python/importlib-metadata/py3/ya.make
index cb87df460a..4e4813824c 100644
--- a/contrib/python/importlib-metadata/py3/ya.make
+++ b/contrib/python/importlib-metadata/py3/ya.make
@@ -2,7 +2,7 @@
PY3_LIBRARY()
-VERSION(6.9.0)
+VERSION(7.0.0)
LICENSE(Apache-2.0)
@@ -23,6 +23,7 @@ PY_SRCS(
importlib_metadata/_meta.py
importlib_metadata/_py39compat.py
importlib_metadata/_text.py
+ importlib_metadata/diagnose.py
)
RESOURCE_FILES(
diff --git a/contrib/restricted/boost/type_index/include/boost/type_index.hpp b/contrib/restricted/boost/type_index/include/boost/type_index.hpp
index 9ef884a8c4..a37d0e16ee 100644
--- a/contrib/restricted/boost/type_index/include/boost/type_index.hpp
+++ b/contrib/restricted/boost/type_index/include/boost/type_index.hpp
@@ -20,26 +20,6 @@
# pragma once
#endif
-
-
-#include <boost/config/pragma_message.hpp>
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
- defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) || \
- defined(BOOST_NO_CXX11_CONSTEXPR) || \
- defined(BOOST_NO_CXX11_NULLPTR) || \
- defined(BOOST_NO_CXX11_NOEXCEPT) || \
- defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || \
- defined(BOOST_NO_CXX11_FINAL) || \
- defined(BOOST_NO_CXX11_ALIGNOF) || \
- defined(BOOST_NO_CXX11_STATIC_ASSERT) || \
- defined(BOOST_NO_CXX11_SMART_PTR) || \
- defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) || \
- defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
-
-BOOST_PRAGMA_MESSAGE("C++03 support is deprecated in Boost.TypeIndex 1.82 and will be removed in Boost.TypeIndex 1.84.")
-
-#endif
-
#if defined(BOOST_TYPE_INDEX_USER_TYPEINDEX)
# error #include BOOST_TYPE_INDEX_USER_TYPEINDEX
# ifdef BOOST_HAS_PRAGMA_DETECT_MISMATCH
@@ -228,7 +208,7 @@ typedef type_index::type_info_t type_info;
/// \throw Nothing.
/// \return boost::typeindex::type_index with information about the specified type T.
template <class T>
-inline type_index type_id() BOOST_NOEXCEPT {
+inline type_index type_id() noexcept {
return type_index::type_id<T>();
}
@@ -248,7 +228,7 @@ inline type_index type_id() BOOST_NOEXCEPT {
/// \throw Nothing.
/// \return boost::typeindex::type_index with information about the specified type T.
template <class T>
-inline type_index type_id_with_cvr() BOOST_NOEXCEPT {
+inline type_index type_id_with_cvr() noexcept {
return type_index::type_id_with_cvr<T>();
}
@@ -273,7 +253,7 @@ inline type_index type_id_with_cvr() BOOST_NOEXCEPT {
/// \throw Nothing.
/// \return boost::typeindex::type_index with information about the specified variable.
template <class T>
-inline type_index type_id_runtime(const T& runtime_val) BOOST_NOEXCEPT {
+inline type_index type_id_runtime(const T& runtime_val) noexcept {
return type_index::type_id_runtime(runtime_val);
}
diff --git a/contrib/restricted/boost/type_index/include/boost/type_index/ctti_type_index.hpp b/contrib/restricted/boost/type_index/include/boost/type_index/ctti_type_index.hpp
index 818545b889..d6717f3b8c 100644
--- a/contrib/restricted/boost/type_index/include/boost/type_index/ctti_type_index.hpp
+++ b/contrib/restricted/boost/type_index/include/boost/type_index/ctti_type_index.hpp
@@ -22,10 +22,8 @@
#include <boost/type_index/detail/compile_time_type_info.hpp>
#include <cstring>
+#include <type_traits>
#include <boost/container_hash/hash.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
#ifdef BOOST_HAS_PRAGMA_ONCE
# pragma once
@@ -58,24 +56,17 @@ namespace detail {
/// std::cout << ti.pretty_name();
/// \endcode
class ctti_data {
-#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS
public:
ctti_data() = delete;
ctti_data(const ctti_data&) = delete;
ctti_data& operator=(const ctti_data&) = delete;
-#else
-private:
- ctti_data();
- ctti_data(const ctti_data&);
- ctti_data& operator=(const ctti_data&);
-#endif
};
} // namespace detail
/// Helper method for getting detail::ctti_data of a template parameter T.
template <class T>
-inline const detail::ctti_data& ctti_construct() BOOST_NOEXCEPT {
+inline const detail::ctti_data& ctti_construct() noexcept {
// Standard C++11, 5.2.10 Reinterpret cast:
// An object pointer can be explicitly converted to an object pointer of a different type. When a prvalue
// v of type "pointer to T1" is converted to the type "pointer to cv T2", the result is static_cast<cv
@@ -105,55 +96,55 @@ inline const detail::ctti_data& ctti_construct() BOOST_NOEXCEPT {
class ctti_type_index: public type_index_facade<ctti_type_index, detail::ctti_data> {
const char* data_;
- inline std::size_t get_raw_name_length() const BOOST_NOEXCEPT;
+ inline std::size_t get_raw_name_length() const noexcept;
- BOOST_CXX14_CONSTEXPR inline explicit ctti_type_index(const char* data) BOOST_NOEXCEPT
+ BOOST_CXX14_CONSTEXPR inline explicit ctti_type_index(const char* data) noexcept
: data_(data)
{}
public:
typedef detail::ctti_data type_info_t;
- BOOST_CXX14_CONSTEXPR inline ctti_type_index() BOOST_NOEXCEPT
+ BOOST_CXX14_CONSTEXPR inline ctti_type_index() noexcept
: data_(boost::detail::ctti<void>::n())
{}
- inline ctti_type_index(const type_info_t& data) BOOST_NOEXCEPT
+ inline ctti_type_index(const type_info_t& data) noexcept
: data_(reinterpret_cast<const char*>(&data))
{}
- inline const type_info_t& type_info() const BOOST_NOEXCEPT;
- BOOST_CXX14_CONSTEXPR inline const char* raw_name() const BOOST_NOEXCEPT;
- BOOST_CXX14_CONSTEXPR inline const char* name() const BOOST_NOEXCEPT;
+ inline const type_info_t& type_info() const noexcept;
+ BOOST_CXX14_CONSTEXPR inline const char* raw_name() const noexcept;
+ BOOST_CXX14_CONSTEXPR inline const char* name() const noexcept;
inline std::string pretty_name() const;
- inline std::size_t hash_code() const BOOST_NOEXCEPT;
+ inline std::size_t hash_code() const noexcept;
- BOOST_CXX14_CONSTEXPR inline bool equal(const ctti_type_index& rhs) const BOOST_NOEXCEPT;
- BOOST_CXX14_CONSTEXPR inline bool before(const ctti_type_index& rhs) const BOOST_NOEXCEPT;
+ BOOST_CXX14_CONSTEXPR inline bool equal(const ctti_type_index& rhs) const noexcept;
+ BOOST_CXX14_CONSTEXPR inline bool before(const ctti_type_index& rhs) const noexcept;
template <class T>
- BOOST_CXX14_CONSTEXPR inline static ctti_type_index type_id() BOOST_NOEXCEPT;
+ BOOST_CXX14_CONSTEXPR inline static ctti_type_index type_id() noexcept;
template <class T>
- BOOST_CXX14_CONSTEXPR inline static ctti_type_index type_id_with_cvr() BOOST_NOEXCEPT;
+ BOOST_CXX14_CONSTEXPR inline static ctti_type_index type_id_with_cvr() noexcept;
template <class T>
- inline static ctti_type_index type_id_runtime(const T& variable) BOOST_NOEXCEPT;
+ inline static ctti_type_index type_id_runtime(const T& variable) noexcept;
};
-inline const ctti_type_index::type_info_t& ctti_type_index::type_info() const BOOST_NOEXCEPT {
+inline const ctti_type_index::type_info_t& ctti_type_index::type_info() const noexcept {
return *reinterpret_cast<const detail::ctti_data*>(data_);
}
-BOOST_CXX14_CONSTEXPR inline bool ctti_type_index::equal(const ctti_type_index& rhs) const BOOST_NOEXCEPT {
+BOOST_CXX14_CONSTEXPR inline bool ctti_type_index::equal(const ctti_type_index& rhs) const noexcept {
const char* const left = raw_name();
const char* const right = rhs.raw_name();
return /*left == right ||*/ !boost::typeindex::detail::constexpr_strcmp(left, right);
}
-BOOST_CXX14_CONSTEXPR inline bool ctti_type_index::before(const ctti_type_index& rhs) const BOOST_NOEXCEPT {
+BOOST_CXX14_CONSTEXPR inline bool ctti_type_index::before(const ctti_type_index& rhs) const noexcept {
const char* const left = raw_name();
const char* const right = rhs.raw_name();
return /*left != right &&*/ boost::typeindex::detail::constexpr_strcmp(left, right) < 0;
@@ -161,37 +152,37 @@ BOOST_CXX14_CONSTEXPR inline bool ctti_type_index::before(const ctti_type_index&
template <class T>
-BOOST_CXX14_CONSTEXPR inline ctti_type_index ctti_type_index::type_id() BOOST_NOEXCEPT {
- typedef BOOST_DEDUCED_TYPENAME boost::remove_reference<T>::type no_ref_t;
- typedef BOOST_DEDUCED_TYPENAME boost::remove_cv<no_ref_t>::type no_cvr_t;
+BOOST_CXX14_CONSTEXPR inline ctti_type_index ctti_type_index::type_id() noexcept {
+ typedef typename std::remove_reference<T>::type no_ref_t;
+ typedef typename std::remove_cv<no_ref_t>::type no_cvr_t;
return ctti_type_index(boost::detail::ctti<no_cvr_t>::n());
}
template <class T>
-BOOST_CXX14_CONSTEXPR inline ctti_type_index ctti_type_index::type_id_with_cvr() BOOST_NOEXCEPT {
+BOOST_CXX14_CONSTEXPR inline ctti_type_index ctti_type_index::type_id_with_cvr() noexcept {
return ctti_type_index(boost::detail::ctti<T>::n());
}
template <class T>
-inline ctti_type_index ctti_type_index::type_id_runtime(const T& variable) BOOST_NOEXCEPT {
+inline ctti_type_index ctti_type_index::type_id_runtime(const T& variable) noexcept {
return variable.boost_type_index_type_id_runtime_();
}
-BOOST_CXX14_CONSTEXPR inline const char* ctti_type_index::raw_name() const BOOST_NOEXCEPT {
+BOOST_CXX14_CONSTEXPR inline const char* ctti_type_index::raw_name() const noexcept {
return data_;
}
-BOOST_CXX14_CONSTEXPR inline const char* ctti_type_index::name() const BOOST_NOEXCEPT {
+BOOST_CXX14_CONSTEXPR inline const char* ctti_type_index::name() const noexcept {
return data_;
}
-inline std::size_t ctti_type_index::get_raw_name_length() const BOOST_NOEXCEPT {
- return std::strlen(raw_name() + detail::ctti_skip_size_at_end);
+inline std::size_t ctti_type_index::get_raw_name_length() const noexcept {
+ return std::strlen(raw_name() + detail::skip().size_at_end);
}
@@ -202,7 +193,7 @@ inline std::string ctti_type_index::pretty_name() const {
}
-inline std::size_t ctti_type_index::hash_code() const BOOST_NOEXCEPT {
+inline std::size_t ctti_type_index::hash_code() const noexcept {
return boost::hash_range(raw_name(), raw_name() + get_raw_name_length());
}
diff --git a/contrib/restricted/boost/type_index/include/boost/type_index/detail/compile_time_type_info.hpp b/contrib/restricted/boost/type_index/include/boost/type_index/detail/compile_time_type_info.hpp
index c80808410d..9d6129a8d0 100644
--- a/contrib/restricted/boost/type_index/include/boost/type_index/detail/compile_time_type_info.hpp
+++ b/contrib/restricted/boost/type_index/include/boost/type_index/detail/compile_time_type_info.hpp
@@ -13,10 +13,10 @@
/// \brief Contains helper macros and implementation details of boost::typeindex::ctti_type_index.
/// Not intended for inclusion from user's code.
-#include <cstring>
#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/integral_constant.hpp>
+
+#include <cstring>
+#include <type_traits>
#ifdef BOOST_HAS_PRAGMA_ONCE
# pragma once
@@ -35,74 +35,87 @@
#define BOOST_TYPE_INDEX_DETAIL_BUILTIN_STRCMP(str1, str2) __builtin_strcmp(str1, str2)
#endif
-#define BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(begin_skip, end_skip, runtime_skip, runtime_skip_until) \
- namespace boost { namespace typeindex { namespace detail { \
- BOOST_STATIC_CONSTEXPR std::size_t ctti_skip_size_at_begin = begin_skip; \
- BOOST_STATIC_CONSTEXPR std::size_t ctti_skip_size_at_end = end_skip; \
- BOOST_STATIC_CONSTEXPR bool ctti_skip_more_at_runtime = runtime_skip; \
- BOOST_STATIC_CONSTEXPR char ctti_skip_until_runtime[] = runtime_skip_until; \
- }}} /* namespace boost::typeindex::detail */ \
- /**/
/// @endcond
+namespace boost { namespace typeindex { namespace detail {
+ struct ctti_skip {
+ std::size_t size_at_begin;
+ std::size_t size_at_end;
+ const char* until_runtime;
+ std::size_t until_runtime_length;
+ };
+
+ template <std::size_t N>
+ constexpr ctti_skip make_ctti_skip(std::size_t size_at_begin,
+ std::size_t size_at_end,
+ bool more_at_runtime,
+ const char (&until_runtime)[N])
+ {
+ return ctti_skip{size_at_begin, size_at_end, until_runtime, more_at_runtime ? N - 1 : 0};
+ }
+
+ template <std::size_t N>
+ constexpr ctti_skip make_ctti_skip(std::size_t size_at_begin,
+ std::size_t size_at_end,
+ const char (&until_runtime)[N])
+ {
+ return ctti_skip{size_at_begin, size_at_end, until_runtime, N - 1};
+ }
+
#if defined(BOOST_TYPE_INDEX_DOXYGEN_INVOKED)
/* Nothing to document. All the macro docs are moved to <boost/type_index.hpp> */
#elif defined(BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING)
-# include <boost/preprocessor/facilities/expand.hpp>
- BOOST_PP_EXPAND( BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING )
+constexpr ctti_skip skip() noexcept { return detail::make_ctti_skip BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING; }
#elif defined(_MSC_VER) && !defined(__clang__) && defined (BOOST_NO_CXX11_NOEXCEPT)
// sizeof("const char *__cdecl boost::detail::ctti<") - 1, sizeof(">::n(void)") - 1
- BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(40, 10, false, "")
+constexpr ctti_skip skip() noexcept { return detail::make_ctti_skip(40, 10, ""); }
#elif defined(_MSC_VER) && !defined(__clang__) && !defined (BOOST_NO_CXX11_NOEXCEPT)
// sizeof("const char *__cdecl boost::detail::ctti<") - 1, sizeof(">::n(void) noexcept") - 1
- BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(40, 19, false, "")
+constexpr ctti_skip skip() noexcept { return detail::make_ctti_skip(40, 19, ""); }
#elif defined(__clang__) && defined(__APPLE__)
// Someone made __clang_major__ equal to LLVM version rather than compiler version
// on APPLE platform.
//
// Using less efficient solution because there is no good way to detect real version of Clang.
// sizeof("static const char *boost::detail::ctti<") - 1, sizeof("]") - 1, true, "???????????>::n() [T = int"
- BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(39, 1, true, "T = ")
+constexpr ctti_skip skip() noexcept { return detail::make_ctti_skip(39, 1, "T = "); }
#elif defined(__clang__) && (__clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ == 0))
// sizeof("static const char *boost::detail::ctti<") - 1, sizeof(">::n()") - 1
// note: checked on 3.0
- BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(39, 6, false, "")
+constexpr ctti_skip skip() noexcept { return detail::make_ctti_skip(39, 6, ""); }
#elif defined(__clang__) && (__clang_major__ >= 4 || (__clang_major__ == 3 && __clang_minor__ > 0))
// sizeof("static const char *boost::detail::ctti<") - 1, sizeof("]") - 1, true, "int>::n() [T = int"
// note: checked on 3.1, 3.4
- BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(39, 1, true, "T = ")
+constexpr ctti_skip skip() noexcept { return detail::make_ctti_skip(39, 1, "T = "); }
#elif defined(__EDG__) && !defined(BOOST_NO_CXX14_CONSTEXPR)
// sizeof("static cha boost::detail::ctti<T>::s() [with I = 40U, T = ") - 1, sizeof("]") - 1
// note: checked on 4.14
- BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(58, 1, false, "")
+constexpr ctti_skip skip() noexcept { return detail::make_ctti_skip(58, 1, ""); }
#elif defined(__EDG__) && defined(BOOST_NO_CXX14_CONSTEXPR)
// sizeof("static const char *boost::detail::ctti<T>::n() [with T = ") - 1, sizeof("]") - 1
// note: checked on 4.14
- BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(57, 1, false, "")
+constexpr ctti_skip skip() noexcept { return detail::make_ctti_skip(57, 1, ""); }
#elif defined(__GNUC__) && (__GNUC__ < 7) && !defined(BOOST_NO_CXX14_CONSTEXPR)
- // sizeof("static constexpr char boost::detail::ctti<T>::s() [with unsigned int I = 0u; T = ") - 1, sizeof("]") - 1
- BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(81, 1, false, "")
+ // sizeof("static constexpr char boost::detail::ctti<T>::s() [with unsigned int I = 0u; } T = ") - 1, sizeof("]") - 1
+constexpr ctti_skip skip() noexcept { return detail::make_ctti_skip(81, 1, ""); }
#elif defined(__GNUC__) && (__GNUC__ >= 7) && !defined(BOOST_NO_CXX14_CONSTEXPR)
- // sizeof("static constexpr char boost::detail::ctti<T>::s() [with unsigned int I = 0; T = ") - 1, sizeof("]") - 1
- BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(80, 1, false, "")
+ // sizeof("static constexpr char boost::detail::ctti<T>::s() [with unsigned int I = 0; } T = ") - 1, sizeof("]") - 1
+constexpr ctti_skip skip() noexcept { return detail::make_ctti_skip(80, 1, ""); }
#elif defined(__GNUC__) && defined(BOOST_NO_CXX14_CONSTEXPR)
// sizeof("static const char* boost::detail::ctti<T>::n() [with T = ") - 1, sizeof("]") - 1
- BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(57, 1, false, "")
+constexpr ctti_skip skip() noexcept { return detail::make_ctti_skip(57, 1, ""); }
#elif defined(__ghs__)
// sizeof("static const char *boost::detail::ctti<T>::n() [with T = ") - 1, sizeof("]") - 1
- BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(57, 1, false, "")
+constexpr ctti_skip skip() noexcept { return detail::make_ctti_skip(57, 1, ""); }
#else
// Deafult code for other platforms... Just skip nothing!
- BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(0, 0, false, "")
+constexpr ctti_skip skip() noexcept { return detail::make_ctti_skip(0, 0, ""); }
#endif
-#undef BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS
-
-namespace boost { namespace typeindex { namespace detail {
template <bool Condition>
- BOOST_CXX14_CONSTEXPR inline void assert_compile_time_legths() BOOST_NOEXCEPT {
- BOOST_STATIC_ASSERT_MSG(
+ BOOST_CXX14_CONSTEXPR inline void assert_compile_time_legths() noexcept {
+ static_assert(
Condition,
"TypeIndex library is misconfigured for your compiler. "
"Please define BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING to correct values. See section "
@@ -111,8 +124,8 @@ namespace boost { namespace typeindex { namespace detail {
}
template <class T>
- BOOST_CXX14_CONSTEXPR inline void failed_to_get_function_name() BOOST_NOEXCEPT {
- BOOST_STATIC_ASSERT_MSG(
+ BOOST_CXX14_CONSTEXPR inline void failed_to_get_function_name() noexcept {
+ static_assert(
sizeof(T) && false,
"TypeIndex library could not detect your compiler. "
"Please make the BOOST_TYPE_INDEX_FUNCTION_SIGNATURE macro use "
@@ -122,7 +135,7 @@ namespace boost { namespace typeindex { namespace detail {
}
#if defined(BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT)
- BOOST_CXX14_CONSTEXPR BOOST_FORCEINLINE bool is_constant_string(const char* str) BOOST_NOEXCEPT {
+ BOOST_CXX14_CONSTEXPR BOOST_FORCEINLINE bool is_constant_string(const char* str) noexcept {
while (BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT(*str)) {
if (*str == '\0')
return true;
@@ -132,17 +145,12 @@ namespace boost { namespace typeindex { namespace detail {
}
#endif // defined(BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT)
- template <unsigned int ArrayLength>
- BOOST_CXX14_CONSTEXPR inline const char* skip_begining_runtime(const char* begin, boost::false_type) BOOST_NOEXCEPT {
- return begin;
- }
-
template<class ForwardIterator1, class ForwardIterator2>
BOOST_CXX14_CONSTEXPR inline ForwardIterator1 constexpr_search(
ForwardIterator1 first1,
ForwardIterator1 last1,
ForwardIterator2 first2,
- ForwardIterator2 last2) BOOST_NOEXCEPT
+ ForwardIterator2 last2) noexcept
{
if (first2 == last2) {
return first1; // specified in C++11
@@ -165,7 +173,7 @@ namespace boost { namespace typeindex { namespace detail {
return last1;
}
- BOOST_CXX14_CONSTEXPR inline int constexpr_strcmp_loop(const char *v1, const char *v2) BOOST_NOEXCEPT {
+ BOOST_CXX14_CONSTEXPR inline int constexpr_strcmp_loop(const char *v1, const char *v2) noexcept {
while (*v1 != '\0' && *v1 == *v2) {
++v1;
++v2;
@@ -174,7 +182,7 @@ namespace boost { namespace typeindex { namespace detail {
return static_cast<int>(*v1) - *v2;
}
- BOOST_CXX14_CONSTEXPR inline int constexpr_strcmp(const char *v1, const char *v2) BOOST_NOEXCEPT {
+ BOOST_CXX14_CONSTEXPR inline int constexpr_strcmp(const char *v1, const char *v2) noexcept {
#if !defined(BOOST_NO_CXX14_CONSTEXPR) && defined(BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT) && defined(BOOST_TYPE_INDEX_DETAIL_BUILTIN_STRCMP)
if (boost::typeindex::detail::is_constant_string(v1) && boost::typeindex::detail::is_constant_string(v2))
return boost::typeindex::detail::constexpr_strcmp_loop(v1, v2);
@@ -187,21 +195,21 @@ namespace boost { namespace typeindex { namespace detail {
}
template <unsigned int ArrayLength>
- BOOST_CXX14_CONSTEXPR inline const char* skip_begining_runtime(const char* begin, boost::true_type) BOOST_NOEXCEPT {
- const char* const it = constexpr_search(
+ BOOST_CXX14_CONSTEXPR inline const char* skip_begining_runtime(const char* begin) noexcept {
+ const char* const it = detail::constexpr_search(
begin, begin + ArrayLength,
- ctti_skip_until_runtime, ctti_skip_until_runtime + sizeof(ctti_skip_until_runtime) - 1
+ skip().until_runtime, skip().until_runtime + skip().until_runtime_length
);
- return (it == begin + ArrayLength ? begin : it + sizeof(ctti_skip_until_runtime) - 1);
+ return (it == begin + ArrayLength ? begin : it + skip().until_runtime_length);
}
template <unsigned int ArrayLength>
- BOOST_CXX14_CONSTEXPR inline const char* skip_begining(const char* begin) BOOST_NOEXCEPT {
- assert_compile_time_legths<(ArrayLength > ctti_skip_size_at_begin + ctti_skip_size_at_end)>();
- return skip_begining_runtime<ArrayLength - ctti_skip_size_at_begin>(
- begin + ctti_skip_size_at_begin,
- boost::integral_constant<bool, ctti_skip_more_at_runtime>()
- );
+ BOOST_CXX14_CONSTEXPR inline const char* skip_begining(const char* begin) noexcept {
+ detail::assert_compile_time_legths<(ArrayLength > skip().size_at_begin + skip().size_at_end)>();
+ return skip().until_runtime_length
+ ? detail::skip_begining_runtime<ArrayLength - skip().size_at_begin>(begin + skip().size_at_begin)
+ : begin + skip().size_at_begin
+ ;
}
#if !defined(__clang__) && defined(__GNUC__) && !defined(BOOST_NO_CXX14_CONSTEXPR)
@@ -257,7 +265,7 @@ struct ctti {
#if !defined(__clang__) && defined(__GNUC__) && !defined(BOOST_NO_CXX14_CONSTEXPR)
//helper functions
template <unsigned int I>
- constexpr static char s() BOOST_NOEXCEPT { // step
+ constexpr static char s() noexcept { // step
constexpr unsigned int offset =
(I >= 10u ? 1u : 0u)
+ (I >= 100u ? 1u : 0u)
@@ -277,12 +285,12 @@ struct ctti {
}
template <unsigned int ...Indexes>
- constexpr static const char* impl(::boost::typeindex::detail::index_seq<Indexes...> ) BOOST_NOEXCEPT {
+ constexpr static const char* impl(::boost::typeindex::detail::index_seq<Indexes...> ) noexcept {
return ::boost::typeindex::detail::cstring<s<Indexes>()...>::data_;
}
template <unsigned int D = 0> // `D` means `Dummy`
- constexpr static const char* n() BOOST_NOEXCEPT {
+ constexpr static const char* n() noexcept {
#if defined(BOOST_TYPE_INDEX_FUNCTION_SIGNATURE)
constexpr unsigned int size = sizeof(BOOST_TYPE_INDEX_FUNCTION_SIGNATURE);
#elif defined(__FUNCSIG__)
@@ -300,19 +308,19 @@ struct ctti {
#endif
boost::typeindex::detail::assert_compile_time_legths<
- (size > boost::typeindex::detail::ctti_skip_size_at_begin + boost::typeindex::detail::ctti_skip_size_at_end + sizeof("const *") - 1)
+ (size > boost::typeindex::detail::skip().size_at_begin + boost::typeindex::detail::skip().size_at_end + sizeof("const *") - 1)
>();
- static_assert(!boost::typeindex::detail::ctti_skip_more_at_runtime, "Skipping for GCC in C++14 mode is unsupported");
+ static_assert(!boost::typeindex::detail::skip().until_runtime_length, "Skipping for GCC in C++14 mode is unsupported");
typedef typename boost::typeindex::detail::make_index_seq_impl<
- boost::typeindex::detail::ctti_skip_size_at_begin,
- size - sizeof("const *") + 1 - boost::typeindex::detail::ctti_skip_size_at_begin
+ boost::typeindex::detail::skip().size_at_begin,
+ size - sizeof("const *") + 1 - boost::typeindex::detail::skip().size_at_begin
>::type idx_seq;
return impl(idx_seq());
}
#else
/// Returns raw name. Must be as short, as possible, to avoid code bloat
- BOOST_CXX14_CONSTEXPR static const char* n() BOOST_NOEXCEPT {
+ BOOST_CXX14_CONSTEXPR static const char* n() noexcept {
#if defined(BOOST_TYPE_INDEX_FUNCTION_SIGNATURE)
return boost::typeindex::detail::skip_begining< sizeof(BOOST_TYPE_INDEX_FUNCTION_SIGNATURE) >(BOOST_TYPE_INDEX_FUNCTION_SIGNATURE);
#elif defined(__FUNCSIG__)
@@ -336,4 +344,6 @@ struct ctti {
}} // namespace boost::detail
+
+
#endif // BOOST_TYPE_INDEX_DETAIL_COMPILE_TIME_TYPE_INFO_HPP
diff --git a/contrib/restricted/boost/type_index/include/boost/type_index/detail/ctti_register_class.hpp b/contrib/restricted/boost/type_index/include/boost/type_index/detail/ctti_register_class.hpp
index ba1f068a05..9c69d49c6a 100644
--- a/contrib/restricted/boost/type_index/include/boost/type_index/detail/ctti_register_class.hpp
+++ b/contrib/restricted/boost/type_index/include/boost/type_index/detail/ctti_register_class.hpp
@@ -22,17 +22,17 @@
namespace boost { namespace typeindex { namespace detail {
template <class T>
-inline const ctti_data& ctti_construct_typeid_ref(const T*) BOOST_NOEXCEPT {
- return ctti_construct<T>();
+inline const ctti_data& ctti_construct_typeid_ref(const T*) noexcept {
+ return boost::typeindex::ctti_construct<T>();
}
}}} // namespace boost::typeindex::detail
/// @cond
-#define BOOST_TYPE_INDEX_REGISTER_CLASS \
- virtual const boost::typeindex::detail::ctti_data& boost_type_index_type_id_runtime_() const BOOST_NOEXCEPT { \
- return boost::typeindex::detail::ctti_construct_typeid_ref(this); \
- } \
+#define BOOST_TYPE_INDEX_REGISTER_CLASS \
+ virtual const boost::typeindex::detail::ctti_data& boost_type_index_type_id_runtime_() const noexcept { \
+ return boost::typeindex::detail::ctti_construct_typeid_ref(this); \
+ } \
/**/
/// @endcond
diff --git a/contrib/restricted/boost/type_index/include/boost/type_index/detail/stl_register_class.hpp b/contrib/restricted/boost/type_index/include/boost/type_index/detail/stl_register_class.hpp
index 590fc96fb3..20eb818af9 100644
--- a/contrib/restricted/boost/type_index/include/boost/type_index/detail/stl_register_class.hpp
+++ b/contrib/restricted/boost/type_index/include/boost/type_index/detail/stl_register_class.hpp
@@ -22,17 +22,17 @@
namespace boost { namespace typeindex { namespace detail {
template <class T>
-inline const stl_type_index::type_info_t& stl_construct_typeid_ref(const T*) BOOST_NOEXCEPT {
+inline const stl_type_index::type_info_t& stl_construct_typeid_ref(const T*) noexcept {
return typeid(T);
}
}}} // namespace boost::typeindex::detail
/// @cond
-#define BOOST_TYPE_INDEX_REGISTER_CLASS \
- virtual const boost::typeindex::stl_type_index::type_info_t& boost_type_index_type_id_runtime_() const BOOST_NOEXCEPT { \
- return boost::typeindex::detail::stl_construct_typeid_ref(this); \
- } \
+#define BOOST_TYPE_INDEX_REGISTER_CLASS \
+ virtual const boost::typeindex::stl_type_index::type_info_t& boost_type_index_type_id_runtime_() const noexcept { \
+ return boost::typeindex::detail::stl_construct_typeid_ref(this); \
+ } \
/**/
/// @endcond
diff --git a/contrib/restricted/boost/type_index/include/boost/type_index/stl_type_index.hpp b/contrib/restricted/boost/type_index/include/boost/type_index/stl_type_index.hpp
index 06c3cac2f7..66d66e238e 100644
--- a/contrib/restricted/boost/type_index/include/boost/type_index/stl_type_index.hpp
+++ b/contrib/restricted/boost/type_index/include/boost/type_index/stl_type_index.hpp
@@ -29,30 +29,9 @@
#include <typeinfo>
#include <cstring> // std::strcmp, std::strlen, std::strstr
#include <stdexcept>
-#include <boost/static_assert.hpp>
+#include <type_traits>
#include <boost/throw_exception.hpp>
#include <boost/core/demangle.hpp>
-#include <boost/type_traits/conditional.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/type_traits/is_volatile.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-
-#if (defined(_MSC_VER) && _MSC_VER > 1600) \
- || (defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ > 5 && defined(__GXX_EXPERIMENTAL_CXX0X__)) \
- || (defined(__GNUC__) && __GNUC__ > 4 && __cplusplus >= 201103)
-# define BOOST_TYPE_INDEX_STD_TYPE_INDEX_HAS_HASH_CODE
-#else
-# include <boost/container_hash/hash.hpp>
-#endif
-
-#if (defined(__EDG_VERSION__) && __EDG_VERSION__ < 245) \
- || (defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 744)
-# include <boost/type_traits/is_signed.hpp>
-# include <boost/type_traits/make_signed.hpp>
-# include <boost/type_traits/type_identity.hpp>
-#endif
#ifdef BOOST_HAS_PRAGMA_ONCE
# pragma once
@@ -86,40 +65,40 @@ private:
const type_info_t* data_;
public:
- inline stl_type_index() BOOST_NOEXCEPT
+ inline stl_type_index() noexcept
: data_(&typeid(void))
{}
- inline stl_type_index(const type_info_t& data) BOOST_NOEXCEPT
+ inline stl_type_index(const type_info_t& data) noexcept
: data_(&data)
{}
- inline const type_info_t& type_info() const BOOST_NOEXCEPT;
+ inline const type_info_t& type_info() const noexcept;
- inline const char* raw_name() const BOOST_NOEXCEPT;
- inline const char* name() const BOOST_NOEXCEPT;
+ inline const char* raw_name() const noexcept;
+ inline const char* name() const noexcept;
inline std::string pretty_name() const;
- inline std::size_t hash_code() const BOOST_NOEXCEPT;
- inline bool equal(const stl_type_index& rhs) const BOOST_NOEXCEPT;
- inline bool before(const stl_type_index& rhs) const BOOST_NOEXCEPT;
+ inline std::size_t hash_code() const noexcept;
+ inline bool equal(const stl_type_index& rhs) const noexcept;
+ inline bool before(const stl_type_index& rhs) const noexcept;
template <class T>
- inline static stl_type_index type_id() BOOST_NOEXCEPT;
+ inline static stl_type_index type_id() noexcept;
template <class T>
- inline static stl_type_index type_id_with_cvr() BOOST_NOEXCEPT;
+ inline static stl_type_index type_id_with_cvr() noexcept;
template <class T>
- inline static stl_type_index type_id_runtime(const T& value) BOOST_NOEXCEPT;
+ inline static stl_type_index type_id_runtime(const T& value) noexcept;
};
-inline const stl_type_index::type_info_t& stl_type_index::type_info() const BOOST_NOEXCEPT {
+inline const stl_type_index::type_info_t& stl_type_index::type_info() const noexcept {
return *data_;
}
-inline const char* stl_type_index::raw_name() const BOOST_NOEXCEPT {
+inline const char* stl_type_index::raw_name() const noexcept {
#ifdef _MSC_VER
return data_->raw_name();
#else
@@ -127,7 +106,7 @@ inline const char* stl_type_index::raw_name() const BOOST_NOEXCEPT {
#endif
}
-inline const char* stl_type_index::name() const BOOST_NOEXCEPT {
+inline const char* stl_type_index::name() const noexcept {
return data_->name();
}
@@ -180,12 +159,8 @@ inline std::string stl_type_index::pretty_name() const {
}
-inline std::size_t stl_type_index::hash_code() const BOOST_NOEXCEPT {
-#ifdef BOOST_TYPE_INDEX_STD_TYPE_INDEX_HAS_HASH_CODE
+inline std::size_t stl_type_index::hash_code() const noexcept {
return data_->hash_code();
-#else
- return boost::hash_range(raw_name(), raw_name() + std::strlen(raw_name()));
-#endif
}
@@ -203,7 +178,7 @@ inline std::size_t stl_type_index::hash_code() const BOOST_NOEXCEPT {
/// @endcond
-inline bool stl_type_index::equal(const stl_type_index& rhs) const BOOST_NOEXCEPT {
+inline bool stl_type_index::equal(const stl_type_index& rhs) const noexcept {
#ifdef BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES
return raw_name() == rhs.raw_name() || !std::strcmp(raw_name(), rhs.raw_name());
#else
@@ -211,7 +186,7 @@ inline bool stl_type_index::equal(const stl_type_index& rhs) const BOOST_NOEXCEP
#endif
}
-inline bool stl_type_index::before(const stl_type_index& rhs) const BOOST_NOEXCEPT {
+inline bool stl_type_index::before(const stl_type_index& rhs) const noexcept {
#ifdef BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES
return raw_name() != rhs.raw_name() && std::strcmp(raw_name(), rhs.raw_name()) < 0;
#else
@@ -223,26 +198,9 @@ inline bool stl_type_index::before(const stl_type_index& rhs) const BOOST_NOEXCE
template <class T>
-inline stl_type_index stl_type_index::type_id() BOOST_NOEXCEPT {
- typedef BOOST_DEDUCED_TYPENAME boost::remove_reference<T>::type no_ref_t;
- typedef BOOST_DEDUCED_TYPENAME boost::remove_cv<no_ref_t>::type no_cvr_prefinal_t;
-
- # if (defined(__EDG_VERSION__) && __EDG_VERSION__ < 245) \
- || (defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 744)
-
- // Old EDG-based compilers seem to mistakenly distinguish 'integral' from 'signed integral'
- // in typeid() expressions. Full template specialization for 'integral' fixes that issue:
- typedef BOOST_DEDUCED_TYPENAME boost::conditional<
- boost::is_signed<no_cvr_prefinal_t>::value,
- boost::make_signed<no_cvr_prefinal_t>,
- boost::type_identity<no_cvr_prefinal_t>
- >::type no_cvr_prefinal_lazy_t;
-
- typedef BOOST_DEDUCED_TYPENAME no_cvr_prefinal_t::type no_cvr_t;
- #else
- typedef no_cvr_prefinal_t no_cvr_t;
- #endif
-
+inline stl_type_index stl_type_index::type_id() noexcept {
+ typedef typename std::remove_reference<T>::type no_ref_t;
+ typedef typename std::remove_cv<no_ref_t>::type no_cvr_t;
return typeid(no_cvr_t);
}
@@ -251,9 +209,9 @@ namespace detail {
}
template <class T>
-inline stl_type_index stl_type_index::type_id_with_cvr() BOOST_NOEXCEPT {
- typedef BOOST_DEDUCED_TYPENAME boost::conditional<
- boost::is_reference<T>::value || boost::is_const<T>::value || boost::is_volatile<T>::value,
+inline stl_type_index stl_type_index::type_id_with_cvr() noexcept {
+ typedef typename std::conditional<
+ std::is_reference<T>::value || std::is_const<T>::value || std::is_volatile<T>::value,
detail::cvr_saver<T>,
T
>::type type;
@@ -263,7 +221,7 @@ inline stl_type_index stl_type_index::type_id_with_cvr() BOOST_NOEXCEPT {
template <class T>
-inline stl_type_index stl_type_index::type_id_runtime(const T& value) BOOST_NOEXCEPT {
+inline stl_type_index stl_type_index::type_id_runtime(const T& value) noexcept {
#ifdef BOOST_NO_RTTI
return value.boost_type_index_type_id_runtime_();
#else
@@ -273,6 +231,4 @@ inline stl_type_index stl_type_index::type_id_runtime(const T& value) BOOST_NOEX
}} // namespace boost::typeindex
-#undef BOOST_TYPE_INDEX_STD_TYPE_INDEX_HAS_HASH_CODE
-
#endif // BOOST_TYPE_INDEX_STL_TYPE_INDEX_HPP
diff --git a/contrib/restricted/boost/type_index/include/boost/type_index/type_index_facade.hpp b/contrib/restricted/boost/type_index/include/boost/type_index/type_index_facade.hpp
index 4145aa4ea2..e4691af80b 100644
--- a/contrib/restricted/boost/type_index/include/boost/type_index/type_index_facade.hpp
+++ b/contrib/restricted/boost/type_index/include/boost/type_index/type_index_facade.hpp
@@ -13,14 +13,8 @@
#include <boost/container_hash/hash_fwd.hpp>
#include <string>
#include <cstring>
-
-#if !defined(BOOST_NO_IOSTREAM)
-#if !defined(BOOST_NO_IOSFWD)
+#include <type_traits>
#include <iosfwd> // for std::basic_ostream
-#else
-#include <ostream>
-#endif
-#endif
#ifdef BOOST_HAS_PRAGMA_ONCE
# pragma once
@@ -62,7 +56,7 @@ template <class Derived, class TypeInfo>
class type_index_facade {
private:
/// @cond
- BOOST_CXX14_CONSTEXPR const Derived & derived() const BOOST_NOEXCEPT {
+ BOOST_CXX14_CONSTEXPR const Derived & derived() const noexcept {
return *static_cast<Derived const*>(this);
}
/// @endcond
@@ -71,7 +65,7 @@ public:
/// \b Override: This function \b may be redefined in Derived class. Overrides \b must not throw.
/// \return Name of a type. By default returns Derived::raw_name().
- inline const char* name() const BOOST_NOEXCEPT {
+ inline const char* name() const noexcept {
return derived().raw_name();
}
@@ -83,7 +77,7 @@ public:
/// \b Override: This function \b may be redefined in Derived class. Overrides \b must not throw.
/// \return True if two types are equal. By default compares types by raw_name().
- inline bool equal(const Derived& rhs) const BOOST_NOEXCEPT {
+ inline bool equal(const Derived& rhs) const noexcept {
const char* const left = derived().raw_name();
const char* const right = rhs.raw_name();
return left == right || !std::strcmp(left, right);
@@ -91,7 +85,7 @@ public:
/// \b Override: This function \b may be redefined in Derived class. Overrides \b must not throw.
/// \return True if rhs is greater than this. By default compares types by raw_name().
- inline bool before(const Derived& rhs) const BOOST_NOEXCEPT {
+ inline bool before(const Derived& rhs) const noexcept {
const char* const left = derived().raw_name();
const char* const right = rhs.raw_name();
return left != right && std::strcmp(left, right) < 0;
@@ -101,7 +95,7 @@ public:
/// \return Hash code of a type. By default hashes types by raw_name().
/// \note Derived class header \b must include <boost/container_hash/hash.hpp>, \b unless this function is redefined in
/// Derived class to not use boost::hash_range().
- inline std::size_t hash_code() const BOOST_NOEXCEPT {
+ inline std::size_t hash_code() const noexcept {
const char* const name_raw = derived().raw_name();
return boost::hash_range(name_raw, name_raw + std::strlen(name_raw));
}
@@ -110,11 +104,11 @@ public:
protected:
/// \b Override: This function \b must be redefined in Derived class. Overrides \b must not throw.
/// \return Pointer to unredable/raw type name.
- inline const char* raw_name() const BOOST_NOEXCEPT;
+ inline const char* raw_name() const noexcept;
/// \b Override: This function \b may be redefined in Derived class. Overrides \b must not throw.
/// \return Const reference to underlying low level type_info_t.
- inline const type_info_t& type_info() const BOOST_NOEXCEPT;
+ inline const type_info_t& type_info() const noexcept;
/// This is a factory method that is used to create instances of Derived classes.
/// boost::typeindex::type_id() will call this method, if Derived has same type as boost::typeindex::type_index.
@@ -124,7 +118,7 @@ protected:
/// \tparam T Type for which type_index must be created.
/// \return type_index for type T.
template <class T>
- static Derived type_id() BOOST_NOEXCEPT;
+ static Derived type_id() noexcept;
/// This is a factory method that is used to create instances of Derived classes.
/// boost::typeindex::type_id_with_cvr() will call this method, if Derived has same type as boost::typeindex::type_index.
@@ -134,7 +128,7 @@ protected:
/// \tparam T Type for which type_index must be created.
/// \return type_index for type T.
template <class T>
- static Derived type_id_with_cvr() BOOST_NOEXCEPT;
+ static Derived type_id_with_cvr() noexcept;
/// This is a factory method that is used to create instances of Derived classes.
/// boost::typeindex::type_id_runtime(const T&) will call this method, if Derived has same type as boost::typeindex::type_index.
@@ -143,7 +137,7 @@ protected:
/// \param variable Variable which runtime type will be stored in type_index.
/// \return type_index with runtime type of variable.
template <class T>
- static Derived type_id_runtime(const T& variable) BOOST_NOEXCEPT;
+ static Derived type_id_runtime(const T& variable) noexcept;
#endif
@@ -151,96 +145,96 @@ protected:
/// @cond
template <class Derived, class TypeInfo>
-BOOST_CXX14_CONSTEXPR inline bool operator == (const type_index_facade<Derived, TypeInfo>& lhs, const type_index_facade<Derived, TypeInfo>& rhs) BOOST_NOEXCEPT {
+BOOST_CXX14_CONSTEXPR inline bool operator == (const type_index_facade<Derived, TypeInfo>& lhs, const type_index_facade<Derived, TypeInfo>& rhs) noexcept {
return static_cast<Derived const&>(lhs).equal(static_cast<Derived const&>(rhs));
}
template <class Derived, class TypeInfo>
-BOOST_CXX14_CONSTEXPR inline bool operator < (const type_index_facade<Derived, TypeInfo>& lhs, const type_index_facade<Derived, TypeInfo>& rhs) BOOST_NOEXCEPT {
+BOOST_CXX14_CONSTEXPR inline bool operator < (const type_index_facade<Derived, TypeInfo>& lhs, const type_index_facade<Derived, TypeInfo>& rhs) noexcept {
return static_cast<Derived const&>(lhs).before(static_cast<Derived const&>(rhs));
}
template <class Derived, class TypeInfo>
-BOOST_CXX14_CONSTEXPR inline bool operator > (const type_index_facade<Derived, TypeInfo>& lhs, const type_index_facade<Derived, TypeInfo>& rhs) BOOST_NOEXCEPT {
+BOOST_CXX14_CONSTEXPR inline bool operator > (const type_index_facade<Derived, TypeInfo>& lhs, const type_index_facade<Derived, TypeInfo>& rhs) noexcept {
return rhs < lhs;
}
template <class Derived, class TypeInfo>
-BOOST_CXX14_CONSTEXPR inline bool operator <= (const type_index_facade<Derived, TypeInfo>& lhs, const type_index_facade<Derived, TypeInfo>& rhs) BOOST_NOEXCEPT {
+BOOST_CXX14_CONSTEXPR inline bool operator <= (const type_index_facade<Derived, TypeInfo>& lhs, const type_index_facade<Derived, TypeInfo>& rhs) noexcept {
return !(lhs > rhs);
}
template <class Derived, class TypeInfo>
-BOOST_CXX14_CONSTEXPR inline bool operator >= (const type_index_facade<Derived, TypeInfo>& lhs, const type_index_facade<Derived, TypeInfo>& rhs) BOOST_NOEXCEPT {
+BOOST_CXX14_CONSTEXPR inline bool operator >= (const type_index_facade<Derived, TypeInfo>& lhs, const type_index_facade<Derived, TypeInfo>& rhs) noexcept {
return !(lhs < rhs);
}
template <class Derived, class TypeInfo>
-BOOST_CXX14_CONSTEXPR inline bool operator != (const type_index_facade<Derived, TypeInfo>& lhs, const type_index_facade<Derived, TypeInfo>& rhs) BOOST_NOEXCEPT {
+BOOST_CXX14_CONSTEXPR inline bool operator != (const type_index_facade<Derived, TypeInfo>& lhs, const type_index_facade<Derived, TypeInfo>& rhs) noexcept {
return !(lhs == rhs);
}
// ######################### COMPARISONS with Derived ############################ //
template <class Derived, class TypeInfo>
-inline bool operator == (const TypeInfo& lhs, const type_index_facade<Derived, TypeInfo>& rhs) BOOST_NOEXCEPT {
+inline bool operator == (const TypeInfo& lhs, const type_index_facade<Derived, TypeInfo>& rhs) noexcept {
return Derived(lhs) == rhs;
}
template <class Derived, class TypeInfo>
-inline bool operator < (const TypeInfo& lhs, const type_index_facade<Derived, TypeInfo>& rhs) BOOST_NOEXCEPT {
+inline bool operator < (const TypeInfo& lhs, const type_index_facade<Derived, TypeInfo>& rhs) noexcept {
return Derived(lhs) < rhs;
}
template <class Derived, class TypeInfo>
-inline bool operator > (const TypeInfo& lhs, const type_index_facade<Derived, TypeInfo>& rhs) BOOST_NOEXCEPT {
+inline bool operator > (const TypeInfo& lhs, const type_index_facade<Derived, TypeInfo>& rhs) noexcept {
return rhs < Derived(lhs);
}
template <class Derived, class TypeInfo>
-inline bool operator <= (const TypeInfo& lhs, const type_index_facade<Derived, TypeInfo>& rhs) BOOST_NOEXCEPT {
+inline bool operator <= (const TypeInfo& lhs, const type_index_facade<Derived, TypeInfo>& rhs) noexcept {
return !(Derived(lhs) > rhs);
}
template <class Derived, class TypeInfo>
-inline bool operator >= (const TypeInfo& lhs, const type_index_facade<Derived, TypeInfo>& rhs) BOOST_NOEXCEPT {
+inline bool operator >= (const TypeInfo& lhs, const type_index_facade<Derived, TypeInfo>& rhs) noexcept {
return !(Derived(lhs) < rhs);
}
template <class Derived, class TypeInfo>
-inline bool operator != (const TypeInfo& lhs, const type_index_facade<Derived, TypeInfo>& rhs) BOOST_NOEXCEPT {
+inline bool operator != (const TypeInfo& lhs, const type_index_facade<Derived, TypeInfo>& rhs) noexcept {
return !(Derived(lhs) == rhs);
}
template <class Derived, class TypeInfo>
-inline bool operator == (const type_index_facade<Derived, TypeInfo>& lhs, const TypeInfo& rhs) BOOST_NOEXCEPT {
+inline bool operator == (const type_index_facade<Derived, TypeInfo>& lhs, const TypeInfo& rhs) noexcept {
return lhs == Derived(rhs);
}
template <class Derived, class TypeInfo>
-inline bool operator < (const type_index_facade<Derived, TypeInfo>& lhs, const TypeInfo& rhs) BOOST_NOEXCEPT {
+inline bool operator < (const type_index_facade<Derived, TypeInfo>& lhs, const TypeInfo& rhs) noexcept {
return lhs < Derived(rhs);
}
template <class Derived, class TypeInfo>
-inline bool operator > (const type_index_facade<Derived, TypeInfo>& lhs, const TypeInfo& rhs) BOOST_NOEXCEPT {
+inline bool operator > (const type_index_facade<Derived, TypeInfo>& lhs, const TypeInfo& rhs) noexcept {
return Derived(rhs) < lhs;
}
template <class Derived, class TypeInfo>
-inline bool operator <= (const type_index_facade<Derived, TypeInfo>& lhs, const TypeInfo& rhs) BOOST_NOEXCEPT {
+inline bool operator <= (const type_index_facade<Derived, TypeInfo>& lhs, const TypeInfo& rhs) noexcept {
return !(lhs > Derived(rhs));
}
template <class Derived, class TypeInfo>
-inline bool operator >= (const type_index_facade<Derived, TypeInfo>& lhs, const TypeInfo& rhs) BOOST_NOEXCEPT {
+inline bool operator >= (const type_index_facade<Derived, TypeInfo>& lhs, const TypeInfo& rhs) noexcept {
return !(lhs < Derived(rhs));
}
template <class Derived, class TypeInfo>
-inline bool operator != (const type_index_facade<Derived, TypeInfo>& lhs, const TypeInfo& rhs) BOOST_NOEXCEPT {
+inline bool operator != (const type_index_facade<Derived, TypeInfo>& lhs, const TypeInfo& rhs) noexcept {
return !(lhs == Derived(rhs));
}
@@ -262,16 +256,6 @@ bool operator ==, !=, <, ... (const TypeInfo& lhs, const type_index_facade& rhs)
#endif
#ifndef BOOST_NO_IOSTREAM
-#ifdef BOOST_NO_TEMPLATED_IOSTREAMS
-/// @cond
-/// Ostream operator that will output demangled name
-template <class Derived, class TypeInfo>
-inline std::ostream& operator<<(std::ostream& ostr, const type_index_facade<Derived, TypeInfo>& ind) {
- ostr << static_cast<Derived const&>(ind).pretty_name();
- return ostr;
-}
-/// @endcond
-#else
/// Ostream operator that will output demangled name.
template <class CharT, class TriatT, class Derived, class TypeInfo>
inline std::basic_ostream<CharT, TriatT>& operator<<(
@@ -281,13 +265,12 @@ inline std::basic_ostream<CharT, TriatT>& operator<<(
ostr << static_cast<Derived const&>(ind).pretty_name();
return ostr;
}
-#endif // BOOST_NO_TEMPLATED_IOSTREAMS
#endif // BOOST_NO_IOSTREAM
/// This free function is used by Boost's unordered containers.
/// \note <boost/container_hash/hash.hpp> has to be included if this function is used.
template <class Derived, class TypeInfo>
-inline std::size_t hash_value(const type_index_facade<Derived, TypeInfo>& lhs) BOOST_NOEXCEPT {
+inline std::size_t hash_value(const type_index_facade<Derived, TypeInfo>& lhs) noexcept {
return static_cast<Derived const&>(lhs).hash_code();
}
diff --git a/contrib/restricted/boost/type_index/ya.make b/contrib/restricted/boost/type_index/ya.make
index d95025d297..ca4428511a 100644
--- a/contrib/restricted/boost/type_index/ya.make
+++ b/contrib/restricted/boost/type_index/ya.make
@@ -6,18 +6,15 @@ LICENSE(BSL-1.0)
LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
-VERSION(1.83.0)
+VERSION(1.84.0)
-ORIGINAL_SOURCE(https://github.com/boostorg/type_index/archive/boost-1.83.0.tar.gz)
+ORIGINAL_SOURCE(https://github.com/boostorg/type_index/archive/boost-1.84.0.tar.gz)
PEERDIR(
contrib/restricted/boost/config
contrib/restricted/boost/container_hash
contrib/restricted/boost/core
- contrib/restricted/boost/preprocessor
- contrib/restricted/boost/static_assert
contrib/restricted/boost/throw_exception
- contrib/restricted/boost/type_traits
)
ADDINCL(
diff --git a/library/cpp/protobuf/json/json_writer_output.h b/library/cpp/protobuf/json/json_writer_output.h
index 3d8a2daa56..975245a264 100644
--- a/library/cpp/protobuf/json/json_writer_output.h
+++ b/library/cpp/protobuf/json/json_writer_output.h
@@ -86,7 +86,7 @@ namespace NProtobufJson {
{
}
- private:
+ protected:
static NJson::TJsonWriterConfig CreateJsonWriterConfig(const TProto2JsonConfig& cfg);
};
@@ -95,7 +95,8 @@ namespace NProtobufJson {
template <typename TConfig>
TJsonStringWriterOutput(TString* str, const TConfig& cfg)
: TEmbedPolicy<TStringOutput>(*str)
- , TJsonWriterOutput(TEmbedPolicy<TStringOutput>::Ptr(), cfg)
+ // If Unbuffered = false, TJsonWriter uses its own string and then flushes it into TStringOutput.
+ , TJsonWriterOutput(TEmbedPolicy<TStringOutput>::Ptr(), CreateJsonWriterConfig(cfg).SetUnbuffered(true))
{
}
};
diff --git a/library/cpp/protobuf/json/proto2json_printer.cpp b/library/cpp/protobuf/json/proto2json_printer.cpp
index 456d1c43c5..aa0823de0e 100644
--- a/library/cpp/protobuf/json/proto2json_printer.cpp
+++ b/library/cpp/protobuf/json/proto2json_printer.cpp
@@ -195,6 +195,9 @@ namespace NProtobufJson {
using namespace google::protobuf;
auto type = proto.GetDescriptor()->well_known_type();
+ // XXX static_cast will cause UB if used with dynamic messages
+ // (can be created by a DynamicMessageFactory with SetDelegateToGeneratedFactory(false). Unlikely, but still possible).
+ // See workaround with CopyFrom in JsonString2Duration, JsonString2Timestamp (json2proto.cpp)
if (type == Descriptor::WellKnownType::WELLKNOWNTYPE_DURATION) {
const auto& duration = static_cast<const Duration&>(proto);
json.Write(util::TimeUtil::ToString(duration));
@@ -210,7 +213,8 @@ namespace NProtobufJson {
void TProto2JsonPrinter::PrintSingleField(const Message& proto,
const FieldDescriptor& field,
IJsonOutput& json,
- TStringBuf key) {
+ TStringBuf key,
+ bool inProtoMap) {
Y_ABORT_UNLESS(!field.is_repeated(), "field is repeated.");
if (!key) {
@@ -236,7 +240,7 @@ namespace NProtobufJson {
const Reflection* reflection = proto.GetReflection();
- bool shouldPrintField = reflection->HasField(proto, &field);
+ bool shouldPrintField = inProtoMap || reflection->HasField(proto, &field);
if (!shouldPrintField && GetConfig().MissingSingleKeyMode == TProto2JsonConfig::MissingKeyExplicitDefaultThrowRequired) {
if (field.has_default_value()) {
shouldPrintField = true;
@@ -409,7 +413,7 @@ namespace NProtobufJson {
TString key = MakeKey(proto, *keyField);
const FieldDescriptor* valueField = proto.GetDescriptor()->FindFieldByName("value");
Y_ABORT_UNLESS(valueField, "Map entry value field not found.");
- PrintField(proto, *valueField, json, key);
+ PrintSingleField(proto, *valueField, json, key, true);
}
TString TProto2JsonPrinter::MakeKey(const NProtoBuf::Message& proto,
diff --git a/library/cpp/protobuf/json/proto2json_printer.h b/library/cpp/protobuf/json/proto2json_printer.h
index 9dc5aa86c6..a127819386 100644
--- a/library/cpp/protobuf/json/proto2json_printer.h
+++ b/library/cpp/protobuf/json/proto2json_printer.h
@@ -39,7 +39,7 @@ namespace NProtobufJson {
void PrintSingleField(const NProtoBuf::Message& proto,
const NProtoBuf::FieldDescriptor& field,
IJsonOutput& json,
- TStringBuf key = {});
+ TStringBuf key = {}, bool inProtoMap = false);
void PrintKeyValue(const NProtoBuf::Message& proto,
IJsonOutput& json);
diff --git a/library/cpp/protobuf/json/ut/proto2json_ut.cpp b/library/cpp/protobuf/json/ut/proto2json_ut.cpp
index f19558e60a..80dae6f01d 100644
--- a/library/cpp/protobuf/json/ut/proto2json_ut.cpp
+++ b/library/cpp/protobuf/json/ut/proto2json_ut.cpp
@@ -981,7 +981,7 @@ Y_UNIT_TEST(TestMapAsObject) {
UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
} // TestMapAsObject
-Y_UNIT_TEST(TestMapWTF) {
+Y_UNIT_TEST(TestMapUsingGeneratedAsJSON) {
TMapType proto;
auto& items = *proto.MutableItems();
@@ -995,7 +995,47 @@ Y_UNIT_TEST(TestMapWTF) {
UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr));
UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
-} // TestMapWTF
+} // TestMapUsingGeneratedAsJSON
+
+Y_UNIT_TEST(TestMapDefaultValue) {
+ TMapType proto;
+
+ auto& items = *proto.MutableItems();
+ items["key1"] = "";
+
+ TString modelStr(R"_({"Items":{"key1":""}})_");
+
+ TStringStream jsonStr;
+
+ TProto2JsonConfig config;
+ config.MapAsObject = true;
+ UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr, config));
+ UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
+
+ jsonStr.Clear();
+ UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr));
+ UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
+} // TestMapDefaultValue
+
+Y_UNIT_TEST(TestMapDefaultMessageValue) {
+ TComplexMapType proto;
+
+ auto& map = *proto.MutableNested();
+ map["key1"]; // Creates an empty nested message
+
+ TString modelStr(R"_({"Nested":{"key1":{}}})_");
+
+ TStringStream jsonStr;
+
+ TProto2JsonConfig config;
+ config.MapAsObject = true;
+ UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr, config));
+ UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
+
+ jsonStr.Clear();
+ UNIT_ASSERT_NO_EXCEPTION(Proto2Json(proto, jsonStr));
+ UNIT_ASSERT_JSON_STRINGS_EQUAL(jsonStr.Str(), modelStr);
+} // TestMapDefaultMessageValue
Y_UNIT_TEST(TestStringifyNumbers) {
#define TEST_SINGLE(flag, field, value, expectString) \
diff --git a/library/cpp/protobuf/json/ut/string_transform_ut.cpp b/library/cpp/protobuf/json/ut/string_transform_ut.cpp
index a31dabcb0f..3a4df5c022 100644
--- a/library/cpp/protobuf/json/ut/string_transform_ut.cpp
+++ b/library/cpp/protobuf/json/ut/string_transform_ut.cpp
@@ -33,7 +33,6 @@ Y_UNIT_TEST_SUITE(TDoubleEscapeTransform) {
TString s;
s = "aba\\ca\"ba";
transform.Transform(s);
- Cerr << "###" << s << Endl;
UNIT_ASSERT_EQUAL(s, "aba\\\\\\\\ca\\\\\\\"ba");
}
}
@@ -52,7 +51,6 @@ Y_UNIT_TEST_SUITE(TDoubleUnescapeTransform) {
TString s;
s = "abacaba";
transform.Transform(s);
- Cerr << "###" << s << Endl;
UNIT_ASSERT_EQUAL("abacaba", s);
}
diff --git a/library/python/runtime_py3/importer.pxi b/library/python/runtime_py3/importer.pxi
index 901c9faa3a..66ecd35167 100644
--- a/library/python/runtime_py3/importer.pxi
+++ b/library/python/runtime_py3/importer.pxi
@@ -221,7 +221,8 @@ class ResourceImporter(object):
def find_spec(self, fullname, path=None, target=None):
# Поддежка переопределения стандартного distutils из пакетом из setuptools
if fullname.startswith("distutils."):
- if path and len(path) > 0 and "/setuptools/_distutils" in path[0]:
+ setuptools_path = f"{path_sep}setuptools{path_sep}_distutils"
+ if path and len(path) > 0 and setuptools_path in path[0]:
import importlib
import importlib.abc
diff --git a/yt/yt/client/api/etc_client.h b/yt/yt/client/api/etc_client.h
index 1ab15d9900..743cc3d955 100644
--- a/yt/yt/client/api/etc_client.h
+++ b/yt/yt/client/api/etc_client.h
@@ -38,7 +38,7 @@ struct TClusterMeta
struct TCheckClusterLivenessOptions
: public TTimeoutOptions
{
- //! Checks cypress root availability.
+ //! Checks Cypress root availability.
bool CheckCypressRoot = false;
//! Checks secondary master cells generic availability.
bool CheckSecondaryMasterCells = false;
diff --git a/yt/yt/client/complex_types/yson_format_conversion.cpp b/yt/yt/client/complex_types/yson_format_conversion.cpp
index 3b50011e61..0eee4f2d97 100644
--- a/yt/yt/client/complex_types/yson_format_conversion.cpp
+++ b/yt/yt/client/complex_types/yson_format_conversion.cpp
@@ -1119,7 +1119,7 @@ TYsonCursorConverter CreateYsonConverterImpl(
}
}
case ELogicalMetatype::VariantTuple: {
- std::vector<std::pair<int,TYsonCursorConverter>> elementConverters;
+ std::vector<std::pair<int, TYsonCursorConverter>> elementConverters;
const auto size = type->GetElements().size();
for (size_t i = 0; i != size; ++i) {
elementConverters.emplace_back(i, CreateYsonConverterImpl(descriptor.VariantTupleElement(i), cache, config));
diff --git a/yt/yt/client/object_client/helpers.h b/yt/yt/client/object_client/helpers.h
index 57849c7790..2b6dc85da7 100644
--- a/yt/yt/client/object_client/helpers.h
+++ b/yt/yt/client/object_client/helpers.h
@@ -69,7 +69,7 @@ bool IsCollocationType(EObjectType type);
//! Checks if the given type is a medium.
bool IsMediumType(EObjectType type);
-//! Checks if the given type is a cypress (i.e. master, simple) transaction.
+//! Checks if the given type is a Cypress (i.e. master, simple) transaction.
bool IsCypressTransactionType(EObjectType type);
//! Checks if the given type is a system transaction.
diff --git a/yt/yt/client/unittests/comparator_ut.cpp b/yt/yt/client/unittests/comparator_ut.cpp
index 192b303bbe..d3c8ea9ef7 100644
--- a/yt/yt/client/unittests/comparator_ut.cpp
+++ b/yt/yt/client/unittests/comparator_ut.cpp
@@ -335,8 +335,8 @@ TEST_F(TComparatorTest, CompareWithWidening)
EXPECT_TRUE(TestKeyWithWidening({int1}, TKeyBoundRef({int1, null}, true)));
// Upper bound with null and widening.
- EXPECT_FALSE(TestKeyWithWidening({int1}, TKeyBoundRef({int1, null}, false ,true)));
- EXPECT_TRUE(TestKeyWithWidening({int1}, TKeyBoundRef({int1, null}, true ,true)));
+ EXPECT_FALSE(TestKeyWithWidening({int1}, TKeyBoundRef({int1, null}, false, true)));
+ EXPECT_TRUE(TestKeyWithWidening({int1}, TKeyBoundRef({int1, null}, true, true)));
// Lower bound longer bound.
EXPECT_FALSE(TestKeyWithWidening({int1}, TKeyBoundRef({int1, int2}, false)));
@@ -346,11 +346,11 @@ TEST_F(TComparatorTest, CompareWithWidening)
EXPECT_TRUE(TestKeyWithWidening({int2}, TKeyBoundRef({int1, int2}, true)));
// Upper bound longer bound.
- EXPECT_TRUE(TestKeyWithWidening({int1}, TKeyBoundRef({int1, int2}, false ,true)));
- EXPECT_TRUE(TestKeyWithWidening({int1}, TKeyBoundRef({int1, int2}, true ,true)));
+ EXPECT_TRUE(TestKeyWithWidening({int1}, TKeyBoundRef({int1, int2}, false, true)));
+ EXPECT_TRUE(TestKeyWithWidening({int1}, TKeyBoundRef({int1, int2}, true, true)));
- EXPECT_FALSE(TestKeyWithWidening({int2}, TKeyBoundRef({int1, int2}, false ,true)));
- EXPECT_FALSE(TestKeyWithWidening({int2}, TKeyBoundRef({int1, int2}, true ,true)));
+ EXPECT_FALSE(TestKeyWithWidening({int2}, TKeyBoundRef({int1, int2}, false, true)));
+ EXPECT_FALSE(TestKeyWithWidening({int2}, TKeyBoundRef({int1, int2}, true, true)));
auto sortOrdersAAD = {ESortOrder::Ascending, ESortOrder::Ascending, ESortOrder::Descending};
diff --git a/yt/yt/client/unittests/composite_compare_ut.cpp b/yt/yt/client/unittests/composite_compare_ut.cpp
index 81a12bec20..5332abe182 100644
--- a/yt/yt/client/unittests/composite_compare_ut.cpp
+++ b/yt/yt/client/unittests/composite_compare_ut.cpp
@@ -40,7 +40,7 @@ TEST(TCompositeCompare, Simple)
EXPECT_EQ(-1, compare("foo", "fooo"));
EXPECT_EQ(0, compare("foo", "foo"));
- // Tuple<Int64,Int64> or List<Int64>
+ // Tuple<Int64, Int64> or List<Int64>
EXPECT_EQ(-1, compare("[1; 2]", "[1; 3]"));
EXPECT_EQ(1, compare("[1; 3]", "[1; 2]"));
diff --git a/yt/yt/client/unittests/logical_type_ut.cpp b/yt/yt/client/unittests/logical_type_ut.cpp
index f6b98ae638..4912ccbf7c 100644
--- a/yt/yt/client/unittests/logical_type_ut.cpp
+++ b/yt/yt/client/unittests/logical_type_ut.cpp
@@ -831,7 +831,7 @@ TEST(TLogicalTypeTest, TestAllTypesInCombineFunctions)
}
class TCombineLogicalMetatypeTests
- : public ::testing::TestWithParam<std::pair<TString,TCombineTypeFunc>>
+ : public ::testing::TestWithParam<std::pair<TString, TCombineTypeFunc>>
{ };
INSTANTIATE_TEST_SUITE_P(
diff --git a/yt/yt/core/actions/unittests/bind_ut.cpp b/yt/yt/core/actions/unittests/bind_ut.cpp
index a44dd05f0c..6abad98bc8 100644
--- a/yt/yt/core/actions/unittests/bind_ut.cpp
+++ b/yt/yt/core/actions/unittests/bind_ut.cpp
@@ -315,38 +315,38 @@ TEST_F(TBindTest, ArityTest)
TCallback<int(int)> c1 = BIND(&Sum, 5, 4, 3, 2, 1);
EXPECT_EQ(543219, c1(9));
- TCallback<int(int,int)> c2 = BIND(&Sum, 5, 4, 3, 2);
+ TCallback<int(int, int)> c2 = BIND(&Sum, 5, 4, 3, 2);
EXPECT_EQ(543298, c2(9, 8));
- TCallback<int(int,int,int)> c3 = BIND(&Sum, 5, 4, 3);
+ TCallback<int(int, int, int)> c3 = BIND(&Sum, 5, 4, 3);
EXPECT_EQ(543987, c3(9, 8, 7));
- TCallback<int(int,int,int,int)> c4 = BIND(&Sum, 5, 4);
+ TCallback<int(int, int, int, int)> c4 = BIND(&Sum, 5, 4);
EXPECT_EQ(549876, c4(9, 8, 7, 6));
- TCallback<int(int,int,int,int,int)> c5 = BIND(&Sum, 5);
+ TCallback<int(int, int, int, int, int)> c5 = BIND(&Sum, 5);
EXPECT_EQ(598765, c5(9, 8, 7, 6, 5));
- TCallback<int(int,int,int,int,int,int)> c6 = BIND(&Sum);
+ TCallback<int(int, int, int, int, int, int)> c6 = BIND(&Sum);
EXPECT_EQ(987654, c6(9, 8, 7, 6, 5, 4));
}
// Test the currying ability of the BIND().
TEST_F(TBindTest, CurryingTest)
{
- TCallback<int(int,int,int,int,int,int)> c6 = BIND(&Sum);
+ TCallback<int(int, int, int, int, int, int)> c6 = BIND(&Sum);
EXPECT_EQ(987654, c6(9, 8, 7, 6, 5, 4));
- TCallback<int(int,int,int,int,int)> c5 = BIND(c6, 5);
+ TCallback<int(int, int, int, int, int)> c5 = BIND(c6, 5);
EXPECT_EQ(598765, c5(9, 8, 7, 6, 5));
- TCallback<int(int,int,int,int)> c4 = BIND(c5, 4);
+ TCallback<int(int, int, int, int)> c4 = BIND(c5, 4);
EXPECT_EQ(549876, c4(9, 8, 7, 6));
- TCallback<int(int,int,int)> c3 = BIND(c4, 3);
+ TCallback<int(int, int, int)> c3 = BIND(c4, 3);
EXPECT_EQ(543987, c3(9, 8, 7));
- TCallback<int(int,int)> c2 = BIND(c3, 2);
+ TCallback<int(int, int)> c2 = BIND(c3, 2);
EXPECT_EQ(543298, c2(9, 8));
TCallback<int(int)> c1 = BIND(c2, 1);
diff --git a/yt/yt/core/bus/tcp/connection.cpp b/yt/yt/core/bus/tcp/connection.cpp
index d3168a89f5..02c8209651 100644
--- a/yt/yt/core/bus/tcp/connection.cpp
+++ b/yt/yt/core/bus/tcp/connection.cpp
@@ -915,7 +915,7 @@ void TTcpConnection::OnSocketRead()
bytesToRead = std::min(bytesToRead, RemainingSslAckPacketBytes_);
}
- YT_LOG_TRACE("Reading from socket into decoder (BytesToRead: %v)",bytesToRead);
+ YT_LOG_TRACE("Reading from socket into decoder (BytesToRead: %v)", bytesToRead);
size_t bytesRead;
if (!ReadSocket(decoderChunk.Begin(), bytesToRead, &bytesRead)) {
diff --git a/yt/yt/core/concurrency/unittests/scheduler_ut.cpp b/yt/yt/core/concurrency/unittests/scheduler_ut.cpp
index 4e437fcec8..2b202dde76 100644
--- a/yt/yt/core/concurrency/unittests/scheduler_ut.cpp
+++ b/yt/yt/core/concurrency/unittests/scheduler_ut.cpp
@@ -848,9 +848,9 @@ TEST_W(TSchedulerTest, FiberTiming)
CheckCurrentFiberRunDuration(timer.GetElapsedTime(), TDuration::MilliSeconds(0), TDuration::MilliSeconds(100));
Sleep(TDuration::Seconds(1));
- CheckCurrentFiberRunDuration(timer.GetElapsedTime(),TDuration::MilliSeconds(900), TDuration::MilliSeconds(1100));
+ CheckCurrentFiberRunDuration(timer.GetElapsedTime(), TDuration::MilliSeconds(900), TDuration::MilliSeconds(1100));
TDelayedExecutor::WaitForDuration(TDuration::Seconds(1));
- CheckCurrentFiberRunDuration(timer.GetElapsedTime(),TDuration::MilliSeconds(900), TDuration::MilliSeconds(1100));
+ CheckCurrentFiberRunDuration(timer.GetElapsedTime(), TDuration::MilliSeconds(900), TDuration::MilliSeconds(1100));
}
TEST_W(TSchedulerTest, CancelDelayedFuture)
diff --git a/yt/yt/core/misc/unittests/callback_ut.cpp b/yt/yt/core/misc/unittests/callback_ut.cpp
index cbc3578181..903b582872 100644
--- a/yt/yt/core/misc/unittests/callback_ut.cpp
+++ b/yt/yt/core/misc/unittests/callback_ut.cpp
@@ -103,11 +103,11 @@ TEST_F(TCallbackTest, DefaultConstruction)
TCallback<void()> c0;
TCallback<void(int)> c1;
- TCallback<void(int,int)> c2;
- TCallback<void(int,int,int)> c3;
- TCallback<void(int,int,int,int)> c4;
- TCallback<void(int,int,int,int,int)> c5;
- TCallback<void(int,int,int,int,int,int)> c6;
+ TCallback<void(int, int)> c2;
+ TCallback<void(int, int, int)> c3;
+ TCallback<void(int, int, int, int)> c4;
+ TCallback<void(int, int, int, int, int)> c5;
+ TCallback<void(int, int, int, int, int, int)> c6;
EXPECT_FALSE(c0);
EXPECT_FALSE(c1);
diff --git a/yt/yt/core/profiling/unittests/timing_ut.cpp b/yt/yt/core/profiling/unittests/timing_ut.cpp
index 4bd23b88e3..f6a8b1b064 100644
--- a/yt/yt/core/profiling/unittests/timing_ut.cpp
+++ b/yt/yt/core/profiling/unittests/timing_ut.cpp
@@ -13,7 +13,7 @@ i64 DiffMS(T a, T b)
{
return a >= b
? static_cast<i64>(a.MilliSeconds()) - static_cast<i64>(b.MilliSeconds())
- : DiffMS(b ,a);
+ : DiffMS(b, a);
}
TEST(TTimingTest, GetInstant)
diff --git a/yt/yt/core/rpc/config.cpp b/yt/yt/core/rpc/config.cpp
index ec29c3b88c..14143a6585 100644
--- a/yt/yt/core/rpc/config.cpp
+++ b/yt/yt/core/rpc/config.cpp
@@ -38,20 +38,6 @@ void TServiceCommonConfig::Register(TRegistrar registrar)
////////////////////////////////////////////////////////////////////////////////
-void TServiceCommonDynamicConfig::Register(TRegistrar registrar)
-{
- registrar.Parameter("enable_per_user_profiling", &TThis::EnablePerUserProfiling)
- .Default();
- registrar.Parameter("histogram_timer_profiling", &TThis::HistogramTimerProfiling)
- .Default();
- registrar.Parameter("code_counting", &TThis::EnableErrorCodeCounting)
- .Default();
- registrar.Parameter("tracing_mode", &TThis::TracingMode)
- .Default();
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
void TServerConfig::Register(TRegistrar registrar)
{
registrar.Parameter("services", &TThis::Services)
@@ -60,14 +46,6 @@ void TServerConfig::Register(TRegistrar registrar)
////////////////////////////////////////////////////////////////////////////////
-void TServerDynamicConfig::Register(TRegistrar registrar)
-{
- registrar.Parameter("services", &TThis::Services)
- .Default();
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
void TServiceConfig::Register(TRegistrar registrar)
{
registrar.Parameter("enable_per_user_profiling", &TThis::EnablePerUserProfiling)
diff --git a/yt/yt/core/rpc/config.h b/yt/yt/core/rpc/config.h
index 9cdf971d18..be8c1fdec5 100644
--- a/yt/yt/core/rpc/config.h
+++ b/yt/yt/core/rpc/config.h
@@ -90,40 +90,6 @@ DEFINE_REFCOUNTED_TYPE(TServerConfig)
////////////////////////////////////////////////////////////////////////////////
-// Common options shared between all services in one server.
-class TServiceCommonDynamicConfig
- : public NYTree::TYsonStruct
-{
-public:
- std::optional<bool> EnablePerUserProfiling;
- std::optional<THistogramConfigPtr> HistogramTimerProfiling;
- std::optional<bool> EnableErrorCodeCounting;
- std::optional<ERequestTracingMode> TracingMode;
-
- REGISTER_YSON_STRUCT(TServiceCommonDynamicConfig);
-
- static void Register(TRegistrar registrar);
-};
-
-DEFINE_REFCOUNTED_TYPE(TServiceCommonDynamicConfig)
-
-////////////////////////////////////////////////////////////////////////////////
-
-class TServerDynamicConfig
- : public TServiceCommonDynamicConfig
-{
-public:
- THashMap<TString, NYTree::INodePtr> Services;
-
- REGISTER_YSON_STRUCT(TServerDynamicConfig);
-
- static void Register(TRegistrar registrar);
-};
-
-DEFINE_REFCOUNTED_TYPE(TServerDynamicConfig)
-
-////////////////////////////////////////////////////////////////////////////////
-
class TServiceConfig
: public NYTree::TYsonStruct
{
diff --git a/yt/yt/core/rpc/grpc/config.cpp b/yt/yt/core/rpc/grpc/config.cpp
index 7a4a4a0d36..dc3a003cb1 100644
--- a/yt/yt/core/rpc/grpc/config.cpp
+++ b/yt/yt/core/rpc/grpc/config.cpp
@@ -73,10 +73,8 @@ void TChannelCredentialsConfig::Register(TRegistrar registrar)
////////////////////////////////////////////////////////////////////////////////
-void TChannelConfig::Register(TRegistrar registrar)
+void TChannelConfigBase::Register(TRegistrar registrar)
{
- registrar.Parameter("address", &TThis::Address)
- .Optional();
registrar.Parameter("credentials", &TThis::Credentials)
.Optional();
registrar.Parameter("grpc_arguments", &TThis::GrpcArguments)
@@ -85,4 +83,12 @@ void TChannelConfig::Register(TRegistrar registrar)
////////////////////////////////////////////////////////////////////////////////
+void TChannelConfig::Register(TRegistrar registrar)
+{
+ registrar.Parameter("address", &TThis::Address)
+ .Optional();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
} // namespace NYT::NRpc::NGrpc
diff --git a/yt/yt/core/rpc/grpc/config.h b/yt/yt/core/rpc/grpc/config.h
index 1575e46901..607d152c07 100644
--- a/yt/yt/core/rpc/grpc/config.h
+++ b/yt/yt/core/rpc/grpc/config.h
@@ -122,14 +122,28 @@ DEFINE_REFCOUNTED_TYPE(TChannelCredentialsConfig)
////////////////////////////////////////////////////////////////////////////////
-class TChannelConfig
+class TChannelConfigBase
: public NYTree::TYsonStruct
{
public:
- TString Address;
TChannelCredentialsConfigPtr Credentials;
THashMap<TString, NYTree::INodePtr> GrpcArguments;
+ REGISTER_YSON_STRUCT(TChannelConfigBase);
+
+ static void Register(TRegistrar registrar);
+};
+
+DEFINE_REFCOUNTED_TYPE(TChannelConfigBase)
+
+////////////////////////////////////////////////////////////////////////////////
+
+class TChannelConfig
+ : public TChannelConfigBase
+{
+public:
+ TString Address;
+
REGISTER_YSON_STRUCT(TChannelConfig);
static void Register(TRegistrar registrar);
diff --git a/yt/yt/core/rpc/grpc/public.h b/yt/yt/core/rpc/grpc/public.h
index ec912d141a..d3da4f43f7 100644
--- a/yt/yt/core/rpc/grpc/public.h
+++ b/yt/yt/core/rpc/grpc/public.h
@@ -12,6 +12,7 @@ DECLARE_REFCOUNTED_CLASS(TServerCredentialsConfig)
DECLARE_REFCOUNTED_CLASS(TServerAddressConfig)
DECLARE_REFCOUNTED_CLASS(TServerConfig)
DECLARE_REFCOUNTED_CLASS(TChannelCredentialsConfig)
+DECLARE_REFCOUNTED_CLASS(TChannelConfigBase)
DECLARE_REFCOUNTED_CLASS(TChannelConfig)
////////////////////////////////////////////////////////////////////////////////
diff --git a/yt/yt/core/rpc/public.h b/yt/yt/core/rpc/public.h
index 5548fa0f22..af88870ad9 100644
--- a/yt/yt/core/rpc/public.h
+++ b/yt/yt/core/rpc/public.h
@@ -107,8 +107,6 @@ DECLARE_REFCOUNTED_CLASS(THistogramExponentialBounds)
DECLARE_REFCOUNTED_CLASS(THistogramConfig)
DECLARE_REFCOUNTED_CLASS(TServerConfig)
DECLARE_REFCOUNTED_CLASS(TServiceCommonConfig)
-DECLARE_REFCOUNTED_CLASS(TServerDynamicConfig)
-DECLARE_REFCOUNTED_CLASS(TServiceCommonDynamicConfig)
DECLARE_REFCOUNTED_CLASS(TServiceConfig)
DECLARE_REFCOUNTED_CLASS(TMethodConfig)
DECLARE_REFCOUNTED_CLASS(TRetryingChannelConfig)
diff --git a/yt/yt/core/rpc/server.h b/yt/yt/core/rpc/server.h
index e48bf2ef5c..fe4c88a478 100644
--- a/yt/yt/core/rpc/server.h
+++ b/yt/yt/core/rpc/server.h
@@ -31,9 +31,7 @@ struct IServer
virtual IServicePtr GetServiceOrThrow(const TServiceId& serviceId) const = 0;
//! Reconfigures the server on-the-fly.
- virtual void Configure(const TServerConfigPtr& config) = 0;
-
- virtual void OnDynamicConfigChanged(const TServerDynamicConfigPtr& config) = 0;
+ virtual void Configure(TServerConfigPtr config) = 0;
//! Starts the server.
/*!
diff --git a/yt/yt/core/rpc/server_detail.cpp b/yt/yt/core/rpc/server_detail.cpp
index 82ba43afe4..0f80a07b6b 100644
--- a/yt/yt/core/rpc/server_detail.cpp
+++ b/yt/yt/core/rpc/server_detail.cpp
@@ -768,12 +768,12 @@ void TServerBase::RegisterService(IServicePtr service)
auto guard = WriterGuard(ServicesLock_);
auto& serviceMap = RealmIdToServiceMap_[serviceId.RealmId];
YT_VERIFY(serviceMap.emplace(serviceId.ServiceName, service).second);
- if (AppliedConfig_) {
- auto it = AppliedConfig_->Services.find(serviceId.ServiceName);
- if (it != AppliedConfig_->Services.end()) {
- service->Configure(AppliedConfig_, it->second);
+ if (Config_) {
+ auto it = Config_->Services.find(serviceId.ServiceName);
+ if (it != Config_->Services.end()) {
+ service->Configure(Config_, it->second);
} else {
- service->Configure(AppliedConfig_, nullptr);
+ service->Configure(Config_, nullptr);
}
}
DoRegisterService(service);
@@ -866,54 +866,26 @@ IServicePtr TServerBase::GetServiceOrThrow(const TServiceId& serviceId) const
return serviceIt->second;
}
-void TServerBase::ApplyConfig()
+void TServerBase::Configure(TServerConfigPtr config)
{
- VERIFY_SPINLOCK_AFFINITY(ServicesLock_);
-
- auto newAppliedConfig = New<TServerConfig>();
- newAppliedConfig->EnableErrorCodeCounting = DynamicConfig_->EnableErrorCodeCounting.value_or(StaticConfig_->EnableErrorCodeCounting);
- newAppliedConfig->EnablePerUserProfiling = DynamicConfig_->EnablePerUserProfiling.value_or(StaticConfig_->EnablePerUserProfiling);
- newAppliedConfig->HistogramTimerProfiling = DynamicConfig_->HistogramTimerProfiling.value_or(StaticConfig_->HistogramTimerProfiling);
- newAppliedConfig->Services = StaticConfig_->Services;
-
- for (const auto& [name, node] : DynamicConfig_->Services) {
- newAppliedConfig->Services[name] = node;
- }
+ auto guard = WriterGuard(ServicesLock_);
- AppliedConfig_ = newAppliedConfig;
+ // Future services will be configured appropriately.
+ Config_ = config;
// Apply configuration to all existing services.
for (const auto& [realmId, serviceMap] : RealmIdToServiceMap_) {
for (const auto& [serviceName, service] : serviceMap) {
- auto it = AppliedConfig_->Services.find(serviceName);
- if (it != AppliedConfig_->Services.end()) {
- service->Configure(AppliedConfig_, it->second);
+ auto it = config->Services.find(serviceName);
+ if (it != config->Services.end()) {
+ service->Configure(config, it->second);
} else {
- service->Configure(AppliedConfig_, nullptr);
+ service->Configure(config, nullptr);
}
}
}
}
-void TServerBase::Configure(const TServerConfigPtr& config)
-{
- auto guard = WriterGuard(ServicesLock_);
-
- // Future services will be configured appropriately.
- StaticConfig_ = config;
-
- ApplyConfig();
-}
-
-void TServerBase::OnDynamicConfigChanged(const TServerDynamicConfigPtr& config)
-{
- auto guard = WriterGuard(ServicesLock_);
-
- DynamicConfig_ = config;
-
- ApplyConfig();
-}
-
void TServerBase::Start()
{
YT_VERIFY(!Started_);
diff --git a/yt/yt/core/rpc/server_detail.h b/yt/yt/core/rpc/server_detail.h
index c05e19216e..0a2647b643 100644
--- a/yt/yt/core/rpc/server_detail.h
+++ b/yt/yt/core/rpc/server_detail.h
@@ -269,8 +269,7 @@ public:
IServicePtr FindService(const TServiceId& serviceId) const override;
IServicePtr GetServiceOrThrow(const TServiceId& serviceId) const override;
- void Configure(const TServerConfigPtr& config) override;
- void OnDynamicConfigChanged(const TServerDynamicConfigPtr& config) override;
+ void Configure(TServerConfigPtr config) override;
void Start() override;
TFuture<void> Stop(bool graceful) override;
@@ -281,9 +280,7 @@ protected:
std::atomic<bool> Started_ = false;
YT_DECLARE_SPIN_LOCK(NThreading::TReaderWriterSpinLock, ServicesLock_);
- TServerConfigPtr StaticConfig_;
- TServerDynamicConfigPtr DynamicConfig_ = New<TServerDynamicConfig>();
- TServerConfigPtr AppliedConfig_;
+ TServerConfigPtr Config_;
//! Service name to service.
using TServiceMap = THashMap<TString, IServicePtr>;
@@ -291,8 +288,6 @@ protected:
explicit TServerBase(NLogging::TLogger logger);
- void ApplyConfig();
-
virtual void DoStart();
virtual TFuture<void> DoStop(bool graceful);
diff --git a/yt/yt/core/rpc/service_detail.cpp b/yt/yt/core/rpc/service_detail.cpp
index 46567c3fcd..2fd6f483ad 100644
--- a/yt/yt/core/rpc/service_detail.cpp
+++ b/yt/yt/core/rpc/service_detail.cpp
@@ -2451,7 +2451,6 @@ void TServiceBase::DoConfigure(
auto methodConfig = methodIt ? methodIt->second : New<TMethodConfig>();
const auto& descriptor = runtimeInfo->Descriptor;
-
runtimeInfo->Heavy.store(methodConfig->Heavy.value_or(descriptor.Options.Heavy));
runtimeInfo->QueueSizeLimit.store(methodConfig->QueueSizeLimit.value_or(descriptor.QueueSizeLimit));
runtimeInfo->ConcurrencyLimit.Reconfigure(methodConfig->ConcurrencyLimit.value_or(descriptor.ConcurrencyLimit));
diff --git a/yt/yt/core/yson/protobuf_interop.cpp b/yt/yt/core/yson/protobuf_interop.cpp
index 60f4ee6e1a..a72a630f04 100644
--- a/yt/yt/core/yson/protobuf_interop.cpp
+++ b/yt/yt/core/yson/protobuf_interop.cpp
@@ -357,7 +357,7 @@ private:
YT_DECLARE_SPIN_LOCK(TForkAwareSpinLock, Lock_);
THashMap<const Descriptor*, std::unique_ptr<TProtobufMessageType>> MessageTypeMap_;
TForkAwareSyncMap<const Descriptor*, const TProtobufMessageType*> MessageTypeSyncMap_;
- THashMap<const EnumDescriptor*,std::unique_ptr<TProtobufEnumType>> EnumTypeMap_;
+ THashMap<const EnumDescriptor*, std::unique_ptr<TProtobufEnumType>> EnumTypeMap_;
TForkAwareSyncMap<const EnumDescriptor*, const TProtobufEnumType*> EnumTypeSyncMap_;
THashMap<const Descriptor*, TProtobufMessageConverter> MessageTypeConverterMap_;
diff --git a/yt/yt/library/formats/skiff_writer.cpp b/yt/yt/library/formats/skiff_writer.cpp
index e75378d199..cfe3306969 100644
--- a/yt/yt/library/formats/skiff_writer.cpp
+++ b/yt/yt/library/formats/skiff_writer.cpp
@@ -73,14 +73,14 @@ public:
for (size_t tableIndex = 0; tableIndex < tableSchemas.size(); ++tableIndex) {
const auto& columns = tableSchemas[tableIndex]->Columns();
for (const auto& column : columns) {
- Columns_[std::pair<int,TString>(tableIndex, column.Name())] = column;
+ Columns_[std::pair<int, TString>(tableIndex, column.Name())] = column;
}
}
}
const TColumnSchema* GetColumnSchema(int tableIndex, TStringBuf columnName) const
{
- auto it = Columns_.find(std::pair<int,TString>(tableIndex, columnName));
+ auto it = Columns_.find(std::pair<int, TString>(tableIndex, columnName));
if (it == Columns_.end()) {
return nullptr;
} else {
diff --git a/yt/yt/library/formats/web_json_writer.cpp b/yt/yt/library/formats/web_json_writer.cpp
index 0539ed6cec..a956486e67 100644
--- a/yt/yt/library/formats/web_json_writer.cpp
+++ b/yt/yt/library/formats/web_json_writer.cpp
@@ -419,7 +419,7 @@ public:
case EValueType::Any:
case EValueType::Composite: {
const auto data = value.AsStringBuf();
- auto key = std::pair<int,int>(tableIndex, value.Id);
+ auto key = std::pair<int, int>(tableIndex, value.Id);
auto it = YsonConverters_.find(key);
if (it == YsonConverters_.end()) {
Consumer_->OnNodeWeightLimited(data, FieldWeightLimit_);
diff --git a/yt/yt_proto/yt/client/node_tracker_client/proto/node_directory.proto b/yt/yt_proto/yt/client/node_tracker_client/proto/node_directory.proto
index 2c383c96c5..e49fde9910 100644
--- a/yt/yt_proto/yt/client/node_tracker_client/proto/node_directory.proto
+++ b/yt/yt_proto/yt/client/node_tracker_client/proto/node_directory.proto
@@ -10,7 +10,7 @@ message TNodeDirectory
{
message TItem
{
- required int32 node_id = 1;
+ required uint32 node_id = 1;
required TNodeDescriptor node_descriptor = 2;
}