• Arthur O'Dwyer's avatar
    Remove all uses of GTEST_DISALLOW_{MOVE_,}ASSIGN_. · 766ac2e1
    Arthur O'Dwyer authored
    None of these are strictly needed for correctness.
    A large number of them (maybe all of them?) trigger `-Wdeprecated`
    warnings on Clang trunk as soon as you try to use the implicitly
    defaulted (but deprecated) copy constructor of a class that has
    deleted its copy assignment operator.
    
    By declaring a deleted copy assignment operator, the old code
    also caused the move constructor and move assignment operator
    to be non-declared. This means that the old code never got move
    semantics -- "move-construction" would simply call the defaulted
    (but deprecated) copy constructor instead. With the new code,
    "move-construction" calls the defaulted move constructor, which
    I believe is what we want to happen. So this is a runtime
    performance optimization.
    
    Unfortunately we can't yet physically remove the definitions
    of these macros from gtest-port.h, because they are being used
    by other code internally at Google (according to zhangxy988).
    But no new uses should be added going forward.
    766ac2e1
gmock-matchers.cc 17.5 KB