about summary refs log tree commit diff
path: root/src/libstd/sys/unix/stack_overflow.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-12-15 22:11:44 +0000
committerbors <bors@rust-lang.org>2014-12-15 22:11:44 +0000
commit0669a432a2e09ad08886cb2138dbe9f5d681fb7f (patch)
tree5183544df317d80a6bce406242596dd997e61b64 /src/libstd/sys/unix/stack_overflow.rs
parent92e9e70d15bcf8d29890bf93793be402ad629229 (diff)
parent89d2061c8f1cc2bcd5e9bb8a97e214f482d5ff2c (diff)
downloadrust-0669a432a2e09ad08886cb2138dbe9f5d681fb7f.tar.gz
rust-0669a432a2e09ad08886cb2138dbe9f5d681fb7f.zip
auto merge of #19448 : japaric/rust/binops-by-value, r=nikomatsakis
- The following operator traits now take their arguments by value: `Add`, `Sub`, `Mul`, `Div`, `Rem`, `BitAnd`, `BitOr`, `BitXor`, `Shl`, `Shr`. This breaks all existing implementations of these traits.

- The binary operation `a OP b` now "desugars" to `OpTrait::op_method(a, b)` and consumes both arguments.

- `String` and `Vec` addition have been changed to reuse the LHS owned value, and to avoid internal cloning. Only the following asymmetric operations are available: `String + &str` and `Vec<T> + &[T]`, which are now a short-hand for the "append" operation.

[breaking-change]

---

This passes `make check` locally. I haven't touch the unary operators in this PR, but converting them to by value should be very similar to this PR. I can work on them after this gets the thumbs up.

@nikomatsakis r? the compiler changes
@aturon r? the library changes. I think the only controversial bit is the semantic change of the `Vec`/`String` `Add` implementation.
cc #19148 
Diffstat (limited to 'src/libstd/sys/unix/stack_overflow.rs')
0 files changed, 0 insertions, 0 deletions