1. 05 4月, 2013 3 次提交
  2. 03 4月, 2013 2 次提交
  3. 30 3月, 2013 2 次提交
    • N
      Add AbiSet and integrate it into the AST. · 6965fe4b
      Niko Matsakis 提交于
      I believe this patch incorporates all expected syntax changes from extern
      function reform (#3678). You can now write things like:
      
          extern "<abi>" fn foo(s: S) -> T { ... }
          extern "<abi>" mod { ... }
          extern "<abi>" fn(S) -> T
      
      The ABI for foreign functions is taken from this syntax (rather than from an
      annotation).  We support the full ABI specification I described on the mailing
      list.  The correct ABI is chosen based on the target architecture.
      
      Calls by pointer to C functions are not yet supported, and the Rust type of
      crust fns is still *u8.
      6965fe4b
    • P
      librustc: Remove `fail_unless!` · 1e915955
      Patrick Walton 提交于
      1e915955
  4. 29 3月, 2013 2 次提交
  5. 28 3月, 2013 3 次提交
  6. 27 3月, 2013 5 次提交
  7. 26 3月, 2013 1 次提交
  8. 23 3月, 2013 3 次提交
  9. 22 3月, 2013 2 次提交
  10. 21 3月, 2013 1 次提交
    • T
      Make typechecker compositional · db003623
      Tim Chevalier 提交于
      The typechecker previously passed around a boolean return flag to
      indicate whether it saw something with type _|_ (that is, something
      it knows at compile-time will definitely diverge) and also had some
      manual checks for the `ty_err` pseudo-type that represents a previous
      type error. This was because the typing rules implemented by the
      typechecker didn't properly propagate _|_ and ty_err. I fixed it.
      
      This also required changing expected error messages in a few tests,
      as now we're printing out fewer derived errors -- in fact, at this
      point we should print out no derived errors, so report any that
      you see (ones that include "[type error]") as bugs.
      db003623
  11. 20 3月, 2013 3 次提交
  12. 19 3月, 2013 4 次提交
    • P
      librustc: Make the compiler ignore purity. · e78f2e2a
      Patrick Walton 提交于
      For bootstrapping purposes, this commit does not remove all uses of
      the keyword "pure" -- doing so would cause the compiler to no longer
      bootstrap due to some syntax extensions ("deriving" in particular).
      Instead, it makes the compiler ignore "pure". Post-snapshot, we can
      remove "pure" from the language.
      
      There are quite a few (~100) borrow check errors that were essentially
      all the result of mutable fields or partial borrows of `@mut`. Per
      discussions with Niko I think we want to allow partial borrows of
      `@mut` but detect obvious footguns. We should also improve the error
      message when `@mut` is erroneously reborrowed.
      e78f2e2a
    • P
    • P
      librustc: Make the compiler ignore purity. · dc690184
      Patrick Walton 提交于
      For bootstrapping purposes, this commit does not remove all uses of
      the keyword "pure" -- doing so would cause the compiler to no longer
      bootstrap due to some syntax extensions ("deriving" in particular).
      Instead, it makes the compiler ignore "pure". Post-snapshot, we can
      remove "pure" from the language.
      
      There are quite a few (~100) borrow check errors that were essentially
      all the result of mutable fields or partial borrows of `@mut`. Per
      discussions with Niko I think we want to allow partial borrows of
      `@mut` but detect obvious footguns. We should also improve the error
      message when `@mut` is erroneously reborrowed.
      dc690184
    • P
  13. 16 3月, 2013 1 次提交
  14. 14 3月, 2013 3 次提交
  15. 12 3月, 2013 3 次提交
  16. 08 3月, 2013 2 次提交