Commit Graph

27779 Commits

Author SHA1 Message Date
bors c2e457686b auto merge of #13237 : alexcrichton/rust/private-tuple-structs, r=brson
This is the final commit need to implement [RFC #4](https://github.com/rust-lang/rfcs/blob/master/active/0004-private-fields.md), it makes all tuple struct fields private by default, overridable with the `pub` keyword.

I'll note one divergence from the original RFC which is outlined in the first commit.
2014-04-03 18:41:45 -07:00
Daniel Micay 7ce2630cef stop asking LLVM to null-terminate strings
This was missed when dropping the null-termination from our string
types. An explicit null byte can still be placed anywhere in a string if
desired, but there's no reason to stick one at the end of every string
constant.
2014-04-03 21:35:21 -04:00
Jonathan S 9380304169 Add fetch_and, fetch_or, fetch_xor to AtomicInt, AtomicUint 2014-04-03 19:53:43 -05:00
bors e7fe207229 auto merge of #13290 : alexcrichton/rust/rollup, r=alexcrichton
Closes #13285 (rustc: Stop using LLVMGetSectionName)
Closes #13280 (std: override clone_from for Vec.)
Closes #13277 (serialize: add a few missing pubs to base64)
Closes #13275 (Add and remove some ignore-win32 flags)
Closes #13273 (Removed managed boxes from libarena.)
Closes #13270 (Minor copy-editing for the tutorial)
Closes #13267 (fix Option<~ZeroSizeType>)
Closes #13265 (Update emacs mode to support new `#![inner(attribute)]` syntax.)
Closes #13263 (syntax: Remove AbiSet, use one Abi)
2014-04-03 17:17:02 -07:00
Alex Crichton 487fa9568b Test fixes from the rollup 2014-04-03 17:11:26 -07:00
Brian Anderson 0875ffcbff Bump version to 0.11-pre
This also changes some of the download links in the documentation
to 'nightly'.
2014-04-03 16:28:46 -07:00
Alex Crichton 78937b9779 std: Document builtin syntax extensions
These syntax extensions need a place to be documented, and this starts passing a
`--cfg dox` parameter to `rustdoc` when building and testing documentation in
order to document macros so that they have no effect on the compiled crate, but
only documentation.

Closes #5605
2014-04-03 16:17:48 -07:00
Christopher Kendell be07cab2cf Removed all references to managed closures. 2014-04-03 15:48:32 -07:00
Christopher Kendell 3137cd5af6 Removed references to managed boxes/pointers from the tutorial text. Code
examples in relevant sections were similarly altered.
2014-04-03 15:38:19 -07:00
bors bb31cb8d2e auto merge of #13286 : alexcrichton/rust/release, r=brson
Merging the 0.10 release into the master branch.
2014-04-03 13:52:03 -07:00
Alex Crichton 57e0908af3 syntax: Remove AbiSet, use one Abi
This change removes the AbiSet from the AST, converting all usage to have just
one Abi value. The current scheme selects a relevant ABI given a list of ABIs
based on the target architecture and how relevant each ABI is to that
architecture.

Instead of this mildly complicated scheme, only one ABI will be allowed in abi
strings, and pseudo-abis will be created for special cases as necessary. For
example the "system" abi exists for stdcall on win32 and C on win64.

Closes #10049
2014-04-03 13:43:45 -07:00
Felix S. Klock II 1a1c47b918 Update emacs mode to support new `#![inner(attribute)]` syntax. 2014-04-03 13:43:40 -07:00
Daniel Micay 898669c4e2 fix Option<~ZeroSizeType>
1778b63616 provided the guarantee of no
`exchange_free` calls for ~ZeroSizeType, so a sentinel can now be used
without overhead.

Closes #11998
2014-04-03 13:43:35 -07:00
Matt Brubeck 1ac8b34ccd Minor spelling/grammar/usage fixes.
Note: "different to" is not exactly incorrect, but "different from" is more
commonly accepted in both US and Commonwealth English, and also more
consistent with other usage within this tutorial.
2014-04-03 13:43:24 -07:00
Matt Brubeck 544516ac63 Fix reference to "these two traits."
There are actually three traits listed.
2014-04-03 13:43:24 -07:00
Matt Brubeck c1e52c71ca `extern crate` and `mod` are not easily confused
Remove some statements that used to refer to similarities between `mod` and
`extern mod`, before the latter was renamed to `extern crate`.
2014-04-03 13:43:24 -07:00
Benjamin Adamson 2ae292473e Removed managed boxes from libarena. 2014-04-03 13:43:09 -07:00
klutzy b4f7b6d672 test/run-pass: Add/remove some ignore-win32 flags 2014-04-03 13:42:58 -07:00
klutzy 35ed58c1e6 test/debug-info: Add/remove ignore-win32 flags
Fixes #10474
2014-04-03 13:42:58 -07:00
klutzy 74ae36ccf2 compiletest: Fix bitrotted win32 routines 2014-04-03 13:42:58 -07:00
Arcterus 696a005181 serialize: add a few missing pubs to base64 2014-04-03 13:42:48 -07:00
Huon Wilson f5a4837df0 std: override clone_from for Vec.
A vector can reuse its allocation (and the allocations/resources of any
contained values) when cloning into an already-instantiated vector, so
we might as well do so.
2014-04-03 13:42:32 -07:00
Alex Crichton 0bd6f2ce0b rustllvm: Remove a no longer needed file
The .def.in files haven't been necessary since the switch to static linking
awhile back.
2014-04-03 10:50:06 -07:00
Alex Crichton 15e6e8cf3e rustc: Stop using LLVMGetSectionName
The recent pull request to remove libc from libstd has hit a wall in compiling
on windows, and I've been trying to investigate on the try bots as to why (it
compiles locally just fine). To the best of my knowledge, the LLVM section
iterator is behaving badly when iterating over the sections of the libc DLL.

Upon investigating the LLVMGetSectionName function in LLVM, I discovered that
this function doesn't always return a null-terminated string. It returns the
data pointer of a StringRef instance (LLVM's equivalent of &str essentially),
but it has no method of returning the length of the name of the section.

This commit modifies the section iteration when loading libraries to invoke a
custom LLVMRustGetSectionName which will correctly return both the length and
the data pointer.

I have not yet verified that this will fix landing liblibc, as it will require a
snapshot before doing a full test. Regardless, this is a worrisome situation
regarding the LLVM API, and should likely be fixed anyway.
2014-04-03 10:49:35 -07:00
Felix S. Klock II 3ccbffac40 After a hash mismatch error, emit file-system paths of crates involved.
Fix #13266.

There is a little bit of acrobatics in the definition of `crate_paths`
to avoid calling `clone()` on the dylib/rlib unless we actually are
going to need them.

The other oddity is that I have replaced the `root_ident: Option<&str>`
parameter with a `root: &Option<CratePaths>`, which may surprise one
who was expecting to see something like: `root: Option<&CratePaths>`.
I went with the approach here because I could not come up with code for
the alternative that was acceptable to the borrow checker.
2014-04-03 17:46:22 +02:00
bors 6f1c06d6a1 auto merge of #13244 : cmr/rust/tbaa, r=alexcrichton 2014-04-03 03:42:02 -07:00
bors 7bda3df6ff auto merge of #13262 : ben0x539/rust/guide-runtime-fixup, r=alexcrichton 2014-04-02 17:51:48 -07:00
Alex Crichton 46867cc3e4 Tweak the installation instructions in the README
Update the instructions to reflect that we have binary installers for all
supported platforms, and move the building from source directions into a
dedicated "Building from Source" directory.
2014-04-02 16:59:39 -07:00
Brian Anderson 606a3160e1 Update AUTHORS.txt for 0.10 2014-04-02 16:57:41 -07:00
Huon Wilson 671649a18e Minor adjustments to the 0.10 release notes.
Mention another lint, fix a typo, and rearrange some things.
2014-04-02 16:43:30 -07:00
bors f503f6c0b9 auto merge of #13257 : alexcrichton/rust/index-uint, r=pnkfelix
The details are outlined in the first commit. 

Closes #10453
2014-04-02 16:36:50 -07:00
Alex Crichton 9a259f4303 Fix fallout of requiring uint indices 2014-04-02 15:56:31 -07:00
Alex Crichton 46abacfdfe rustc: Require that vector indices are uints
This commit tightens up the restriction on types used to index slices to require
exactly `uint` indices. Previously any integral type was accepted, but this
leads to a few subtle problems:

  * 64-bit indices don't make much sense on 32-bit systems
  * Signed indices for slices used as negative indexing isn't implemented

This was discussed at the recent work week, and also has some discussion on
issue #10453.

Closes #10453
2014-04-02 15:56:31 -07:00
Corey Richardson 46790a7d27 util: ppaux: remove dead code 2014-04-02 11:17:24 -04:00
Corey Richardson 841eb1c56f util: common: remove dead code 2014-04-02 11:17:24 -04:00
Corey Richardson fdcb104517 middle: typeck: rscope: remove dead code 2014-04-02 11:17:24 -04:00
Corey Richardson 3bd0a37c0b middle: typeck: remove dead code 2014-04-02 11:17:24 -04:00
Corey Richardson 009389f051 middle: typeck: infer: resolve: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson 167c29ff3f middle: typeck: infer: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson ce47c91bfc middle: typeck: infer: lub: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson 1a98ec83c1 middle: typeck: infer: combine: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson dcb01ff573 middle: typeck: check: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson 39f839d9ee middle: ty: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson b4653941d6 middle: trans: type_: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson 53b70a83c6 middle: trans: tvec: remove dead code 2014-04-02 11:17:23 -04:00
Corey Richardson 4bc2c3b2b4 middle: trans: reflect: remove dead code 2014-04-02 11:17:22 -04:00
Corey Richardson 32753ed811 middle: trans: meth: remove dead code 2014-04-02 11:17:22 -04:00
Corey Richardson f9973103c5 middle: trans: datum: remove dead code 2014-04-02 11:17:22 -04:00
Corey Richardson 9dd185c255 middle: trans: context: remove dead code 2014-04-02 11:17:22 -04:00
Corey Richardson e53f48be34 middle: trans: common: remove dead code 2014-04-02 11:17:22 -04:00