Fix a lint error due to unspecified move evaluation order (#4348)

Summary:
In C++ 11, the order of argument and move evaluation in a statement such
as below is unspecified -
  foo(a.b).bar(std::move(a))
The compiler is free to evaluate std::move(a) first, and then a.b is unspecified.

In C++ 17, this will be safe if a draft proposal around function
chaining rules is accepted.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4348

Differential Revision: D9688810

Pulled By: anand1976

fbshipit-source-id: e4651d0ca03dcf007e50371a0fc72c0d1e710fb4
main
Anand Ananthabhotla 6 years ago committed by Facebook Github Bot
parent 2c14662213
commit ced618cf39
  1. 3
      db/range_del_aggregator.cc

@ -495,7 +495,8 @@ Status RangeDelAggregator::AddTombstones(
tombstone.end_key_ = largest->user_key();
}
}
GetRangeDelMap(tombstone.seq_).AddTombstone(std::move(tombstone));
auto seq = tombstone.seq_;
GetRangeDelMap(seq).AddTombstone(std::move(tombstone));
input->Next();
}
if (!first_iter) {

Loading…
Cancel
Save