1. 20 Nov, 2016 1 commit
    • Dean Moldovan's avatar
      Always use return_value_policy::move for rvalues (#510) · d079f41c
      Dean Moldovan authored
      Fixes #509.
      
      The move policy was already set for rvalues in PR #473, but this only
      applied to directly cast user-defined types. The problem is that STL
      containers cast values indirectly and the rvalue information is lost.
      Therefore the move policy was not set correctly. This commit fixes it.
      
      This also makes an additional adjustment to remove the `copy` policy
      exception: rvalues now always use the `move` policy. This is also safe
      for copy-only rvalues because the `move` policy has an internal fallback
      to copying.
      d079f41c
  2. 04 Nov, 2016 1 commit
    • Jason Rhinelander's avatar
      Add debugging info about .so size to build output (#477) · dc0b4bd2
      Jason Rhinelander authored
      * Add debugging info about so size to build output
      
      This adds a small python script to tools that captures before-and-after
      .so sizes between builds and outputs this in the build output via a
      string such as:
      
      ------ pybind11_tests.cpython-35m-x86_64-linux-gnu.so file size: 924696 (decrease of 73680 bytes = 7.38%)
      
      ------ pybind11_tests.cpython-35m-x86_64-linux-gnu.so file size: 998376 (increase of 73680 bytes = 7.97%)
      
      ------ pybind11_tests.cpython-35m-x86_64-linux-gnu.so file size: 998376 (no change)
      
      Or, if there was no .so during the build, just the .so size by itself:
      
      ------ pybind11_tests.cpython-35m-x86_64-linux-gnu.so file size: 998376
      
      This allows you to, for example, build, checkout a different branch,
      rebuild, and easily see exactly the change in the pybind11_tests.so
      size.
      
      It also allows looking at the travis and appveyor build logs to get an
      idea of .so/.dll sizes across different build systems.
      
      * Minor libsize.py script changes
      
      - Use RAII open
      - Remove unused libsize=-1
      - Report change as [+-]xyz bytes = [+-]a.bc%
      dc0b4bd2