@@ -319,6 +319,33 @@ testNoLocalStorage()
319319 TF_AXIOM (v.capacity () == 4 );
320320}
321321
322+ static void
323+ testEmptyMoveNoLocalStorage ()
324+ {
325+ TfSmallVector<int , 0 > empty{};
326+ {
327+ // Empty move construction
328+ TfSmallVector<int , 0 > v{std::move (empty)};
329+ TF_AXIOM (v.size () == 0 );
330+ TF_AXIOM (v.capacity () == 0 );
331+
332+ v.push_back (1414 );
333+ TF_AXIOM (v.size () == 1 );
334+ TF_AXIOM (v.capacity () == 1 );
335+ TF_AXIOM (v.front () == 1414 );
336+ TF_AXIOM (v.back () == 1414 );
337+
338+ v.push_back (1515 );
339+ TF_AXIOM (v.size () == 2 );
340+ TF_AXIOM (v.capacity () == 2 );
341+ TF_AXIOM (v.front () == 1414 );
342+ TF_AXIOM (v.back () == 1515 );
343+ }
344+
345+ TF_AXIOM (empty.size () == 0 );
346+ TF_AXIOM (empty.capacity () == 0 );
347+ }
348+
322349static void
323350testGrowth ()
324351{
@@ -1588,6 +1615,8 @@ Test_TfSmallVector()
15881615 testConstructors ();
15891616 std::cout << " testNoLocalStorage" << std::endl;
15901617 testNoLocalStorage ();
1618+ std::cout << " testEmptyMoveNoLocalStorage" << std::endl;
1619+ testEmptyMoveNoLocalStorage ();
15911620 std::cout << " testGrowth" << std::endl;
15921621 testGrowth ();
15931622 std::cout << " testIteration" << std::endl;
0 commit comments