diff options
| author | ras0219 <533828+ras0219@users.noreply.github.com> | 2020-10-06 12:06:26 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-06 12:06:26 -0700 |
| commit | 8fe1851e1eb51a971b2b7cfdb8161ac03bbbd6d5 (patch) | |
| tree | be0a98124bdd9702c32692caa58a5ff76b4ae8ad /toolsrc/src/vcpkg-test/optional.cpp | |
| parent | 587dc2ed881b885f715fae623e6fee96ce526fe4 (diff) | |
| download | vcpkg-8fe1851e1eb51a971b2b7cfdb8161ac03bbbd6d5.tar.gz vcpkg-8fe1851e1eb51a971b2b7cfdb8161ac03bbbd6d5.zip | |
[vcpkg] Enable reentrant vcpkg calls (#13751)
* [vcpkg] Enable recursive vcpkg calls
Via envvars VCPKG_COMMAND and VCPKG_X_RECURSIVE_DATA. Child processes can call vcpkg via "$VCPKG_COMMAND <args>" in limited internal circumstances.
* [vcpkg] Address CR comments
* [vcpkg] Do not move through Optional<&> into Optional<T>
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Diffstat (limited to 'toolsrc/src/vcpkg-test/optional.cpp')
| -rw-r--r-- | toolsrc/src/vcpkg-test/optional.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/toolsrc/src/vcpkg-test/optional.cpp b/toolsrc/src/vcpkg-test/optional.cpp index f3c61387f..520867f2c 100644 --- a/toolsrc/src/vcpkg-test/optional.cpp +++ b/toolsrc/src/vcpkg-test/optional.cpp @@ -58,6 +58,27 @@ TEST_CASE ("ref conversion", "[optional]") REQUIRE(cref_1.get() == &x); } +TEST_CASE ("value conversion", "[optional]") +{ + using vcpkg::Optional; + + Optional<long> j = 1; + Optional<int> i = j; + Optional<const char*> cstr = "hello, world!"; + Optional<std::string> cppstr = cstr; + + std::vector<int> v{1, 2, 3}; + Optional<std::vector<int>&> o_v(v); + REQUIRE(o_v.has_value()); + REQUIRE(o_v.get()->size() == 3); + Optional<std::vector<int>> o_w(std::move(o_v)); + REQUIRE(o_w.has_value()); + REQUIRE(o_w.get()->size() == 3); + // Moving from Optional<&> should not move the underlying object + REQUIRE(o_v.has_value()); + REQUIRE(o_v.get()->size() == 3); +} + TEST_CASE ("common_projection", "[optional]") { using vcpkg::Util::common_projection; |
