<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii" /></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">You could just clone the value to get around that error.<br><br><div class="gmail_quote">On June 12, 2014 10:03:40 AM PDT, Tommi <rusty.gates@icloud.com> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
On 2014-06-12, at 19:08, Patrick Walton <<a href="mailto:pcwalton@mozilla.com">pcwalton@mozilla.com</a>> wrote:<br /><div><br class="Apple-interchange-newline" /><blockquote type="cite">On 6/11/14 6:27 AM, SiegeLord wrote:<br /><blockquote type="cite">So, I think the situation is pretty bad. What can be done to fix it?<br /></blockquote><br />Seems to me we can just make the overloaded operator traits take by-value self.<br /></blockquote></div><br /><div>I definitely wouldn't want to see something like the following:</div><div><br /></div><div><div><font face="Courier New">pub trait GreaterByOne<T> {</font></div><div><font face="Courier New">    fn greater_by_one(self) -> Self;</font></div><div><font face="Courier New">}</font></div><div><font face="Courier New"><br /></font></div><div><font face="Courier New">pub fn my_algorithm<X, T: GreaterByOne<X> + Add<T, T>>(value: T) -> T {</font></div><div><font face="Courier New">   
value.greater_by_one() +</font></div><div><font face="Courier New">    value.greater_by_one() // error: use of moved value: `value`</font></div><div><font face="Courier New">}</font></div></div><div><br /></div></blockquote></div><br>
-- <br>
Sent from my Android phone with K-9 Mail. Please excuse my brevity.</body></html>