<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Is there a canonical example of encoding a state machine into Rust's substructural types?<br><br>Cameron</div><div><br>On Jun 4, 2014, at 10:14 PM, Brian Anderson <<a href="mailto:banderson@mozilla.com">banderson@mozilla.com</a>> wrote:<br><br></div><blockquote type="cite"><div>
  
    <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
  
  
    Thank you for your suggestion, but typestate is not coming back.
    There is no room in the complexity budget for another major piece of
    type system, and linear types can serve much the same purpose.<br>
    <br>
    <div class="moz-cite-prefix">On 06/04/2014 10:11 PM, Suminda
      Dharmasena wrote:<br>
    </div>
    <blockquote cite="mid:CAAfFNYGkqzi+dX64rpVkfEPsRkLmydzTAGiLPRKJDP-aUwGG7A@mail.gmail.com" type="cite">
      <div dir="ltr">
        <div>Hi,</div>
        <div><br>
        </div>
        <div>The initial Type State implementation in Rust was not a
          great way to get about it. Please reconsider adding type state
          like it has been done in the Plaid language.</div>
        <div>
          <br>
        </div>
        <div>Basically you can use traits mechanism to mixin and remove
          the trait when methods marked as having state transitions.</div>
        <div><br>
        </div>
        <div>Suminda</div>
        <div><br>
        </div>
        <div>Plaid: <a moz-do-not-send="true" href="http://www.cs.cmu.edu/%7Ealdrich/plaid/">http://www.cs.cmu.edu/~aldrich/plaid/</a><br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Rust-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Rust-dev@mozilla.org">Rust-dev@mozilla.org</a>
<a class="moz-txt-link-freetext" href="https://mail.mozilla.org/listinfo/rust-dev">https://mail.mozilla.org/listinfo/rust-dev</a>
</pre>
    </blockquote>
    <br>
  

</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>Rust-dev mailing list</span><br><span><a href="mailto:Rust-dev@mozilla.org">Rust-dev@mozilla.org</a></span><br><span><a href="https://mail.mozilla.org/listinfo/rust-dev">https://mail.mozilla.org/listinfo/rust-dev</a></span><br></div></blockquote></body></html>