<div dir="ltr"><div>I think having copy constructors is the only way to get rid of `.clone()` all over the place when using` Rc`. That, to me, seems very important (in making smart pointers first class citizens of Rust, without this, I would rather go back to having @-pointers). The trouble is, I see incrementing a ref count as the upper bound on the work that should be done in a copy constructor and I see no way to enforce that.<br>
<br></div>So, I guess +1 to spirit of the OP, but no solid proposal for how to do it.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Jun 21, 2014 at 8:00 AM, Benjamin Striegel <span dir="ltr"><<a href="mailto:ben.striegel@gmail.com" target="_blank">ben.striegel@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I'm not a fan of the idea of blessing certain types with a compiler-defined whitelist. And if the choice is then between ugly code and copy constructors, I'll take ugly code over surprising code.<br>


</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jun 20, 2014 at 3:10 PM, Patrick Walton <span dir="ltr"><<a href="mailto:pcwalton@mozilla.com" target="_blank">pcwalton@mozilla.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 6/20/14 12:07 PM, Paulo Sérgio Almeida wrote:]<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Currently being Copy equates with being Pod. The more time passes and<br>
the more code examples I see, it is amazing the amount of ugliness that<br>
it causes. I wonder if there is a way out.<br>
</blockquote>
<br></div>
Part of the problem is that a lot of library code assumes that Copy types can be copied by just moving bytes around. Having copy constructors would mean that this simplifying assumption would have to change. It's doable, I suppose, but having copy constructors would have a significant downside.<br>



<br>
Patrick<br>
<br>
______________________________<u></u>_________________<br>
Rust-dev mailing list<br>
<a href="mailto:Rust-dev@mozilla.org" target="_blank">Rust-dev@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/rust-dev" target="_blank">https://mail.mozilla.org/<u></u>listinfo/rust-dev</a><br>
</blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
Rust-dev mailing list<br>
<a href="mailto:Rust-dev@mozilla.org">Rust-dev@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/rust-dev" target="_blank">https://mail.mozilla.org/listinfo/rust-dev</a><br>
<br></blockquote></div><br></div>