33714 Commits

Author SHA1 Message Date
Alex Crichton
68ac44cb97 rustc: Support stability attributes on crates
This commit adds support for linting `extern crate` statements for stability
attributes attached to the crate itself. This is likely to be the mechanism used
to deny access to experimental crates that are part of the standard
distribution.

cc #18585
2014-11-04 08:13:09 -08:00
bors
ec28b4a6c8 auto merge of #18132 : P1start/rust/more-help, r=jakub-
Closes #18126.

At the moment this mostly only changes notes that are particularly help-oriented or directly suggest the user to do something to help messages, and does not change messages that simply explain an error message further. If it is decided that those messages should also be help messages, I can add them to this PR, but for now I’m excluding them as I believe that changing those messages might leave very few places where notes would be appropriate.
2014-11-04 03:36:55 +00:00
bors
0a5e7f3594 auto merge of #18589 : alexcrichton/rust/issue-18587-warn, r=jakub-
There's currently a bug in it which fires erroneously on cross compiles,
preventing new nightlies from being generated. This can be reset back to Deny
once it's been fixed.

cc #18587
2014-11-03 23:16:55 +00:00
Alex Crichton
768caf1083 rustc: Set the exceeding_bitshifts lint to Allow
There's currently a bug in it which fires erroneously on cross compiles,
preventing new nightlies from being generated. This can be reset back to Deny
once it's been fixed.

cc #18587
2014-11-03 14:34:14 -08:00
bors
b11b706545 auto merge of #18575 : alexcrichton/rust/rollup, r=alexcrichton 2014-11-03 21:07:45 +00:00
Alex Crichton
dce0be03d9 Test fixes and rebase conflicts 2014-11-03 11:02:36 -08:00
bors
01b81c0ebb auto merge of #18460 : gamazeps/rust/issue18451, r=steveklabnik
Closes #18451
2014-11-03 18:57:29 +00:00
Alex Crichton
02300dc90d rollup merge of #18545 : luqmana/fix-18539 2014-11-03 08:31:47 -08:00
Alex Crichton
2f08d263ba rollup merge of #18542 : jakub-/struct-inherit-feature-gate 2014-11-03 08:31:47 -08:00
Alex Crichton
386cc76655 rollup merge of #18537 : japaric/no-secret 2014-11-03 08:31:46 -08:00
Alex Crichton
a8fdcc305e rollup merge of #18531 : robinst/getopts-doc 2014-11-03 08:31:46 -08:00
Alex Crichton
bb7805f58f rollup merge of #18527 : bkoropoff/issue-18490 2014-11-03 08:31:46 -08:00
Alex Crichton
6f00bee168 rollup merge of #18526 : mprobinson/vector-error-msg 2014-11-03 08:31:46 -08:00
Alex Crichton
202ede19d9 rollup merge of #18523 : bkoropoff/issue-18501 2014-11-03 08:31:46 -08:00
Alex Crichton
b3f8b8f238 rollup merge of #18522 : jbcrail/rename-missing-doc-attribute 2014-11-03 08:31:46 -08:00
Alex Crichton
e5a8840033 rollup merge of #18519 : Gankro/collect-smash 2014-11-03 08:31:45 -08:00
Alex Crichton
dcd8c23768 rollup merge of #18518 : bkoropoff/issue-18514 2014-11-03 08:31:45 -08:00
Alex Crichton
67840513f4 rollup merge of #18509 : cakebaker/missing_ofs 2014-11-03 08:31:45 -08:00
Alex Crichton
048902db52 rollup merge of #18508 : cakebaker/fix_variable_name 2014-11-03 08:31:45 -08:00
Alex Crichton
02c234cc52 rollup merge of #18505 : bkoropoff/issue-18487 2014-11-03 08:31:45 -08:00
Alex Crichton
82efef76c3 rollup merge of #18500 : adrientetar/fonts 2014-11-03 08:31:45 -08:00
Alex Crichton
ceb5404ee8 rollup merge of #18495 : rolfvandekrol/intro-fix 2014-11-03 08:31:44 -08:00
Alex Crichton
fab6c74cf3 rollup merge of #18494 : nikomatsakis/issue-18453 2014-11-03 08:31:44 -08:00
Alex Crichton
0f4d7f248d rollup merge of #18493 : jakub-/issue-18464 2014-11-03 08:31:44 -08:00
Alex Crichton
68e7dd0ffe rollup merge of #18476 : vadimcn/17982 2014-11-03 08:31:44 -08:00
Alex Crichton
6478fcfafe rollup merge of #18470 : alexcrichton/dash-l 2014-11-03 08:31:44 -08:00
Alex Crichton
566ee9ecb3 rollup merge of #18460 : gamazeps/issue18451 2014-11-03 08:31:44 -08:00
bors
2790505c19 auto merge of #18468 : jakub-/rust/iter-repeat, r=alexcrichton
Implements a part of RFC 235.

[breaking-change]
2014-11-03 14:17:26 +00:00
bors
b9b396cd75 auto merge of #18463 : japaric/rust/bytes2, r=alexcrichton
- The `BytesContainer::container_into_owned_bytes` method has been removed

- Methods that used to take `BytesContainer` implementors by value, now take them by reference. In particular, this breaks some uses of Path:

``` rust
Path::new("foo")  // Still works
path.join(another_path) -> path.join(&another_path)
```

[breaking-change]

---

Re: `container_into_owned_bytes`, I've removed it because

- Nothing in the whole repository uses it
- Takes `self` by value, which is incompatible with unsized types (`str`)

The alternative to removing this method is to split `BytesContainer` into `BytesContainer for Sized?` and `SizedBytesContainer: BytesContainer + Sized`, where the second trait only contains the `container_into_owned_bytes` method. I tried this alternative [in another branch](https://github.com/japaric/rust/commits/bytes) and it works, but it seemed better not to create a new trait for an unused method.

Re: Breakage of `Path` methods

We could use the idea that @alexcrichton proposed in #18457 (add blanket `impl BytesContainer for &T where T: BytesContainer` + keep taking `T: BytesContainer` by value in `Path` methods) to avoid breaking any code.

r? @aturon 
cc #16918
2014-11-03 12:12:24 +00:00
bors
851799d09e auto merge of #18206 : hirschenberger/rust/issue-17713, r=thestinger
Add lint for checking exceeding bitshifts #17713

It also const-evaluates the shift width (RHS) to check more complex shifts like `1u8 << (4+5)`.
The lint-level is set to `Warn` but perhaps it must be `Deny` as in llvm exceeding bitshifts are undefined as @ben0x539 stated in #17713
2014-11-03 07:37:23 +00:00
bors
ff50f24feb auto merge of #17753 : aturon/rust/error-interop, r=alexcrichton
This PR:

* Adds the error interoperation traits (`Error` and `FromError`) to a new module, `std::error`, as per [RFC 70](https://github.com/rust-lang/rfcs/blob/master/active/0070-error-chaining.md). Note that this module must live in `std` in order to refer to `String`.

    Note that, until multidispatch lands, the `FromError` trait cannot be
usefully implemented outside of the blanket impl given here.

* Incorporates `std::error::FromError` into the `try!` macro.

* Implements `Error` for most existing error enumerations.

Closes #17747
2014-11-03 03:57:18 +00:00
bors
dcc5c3b31b auto merge of #18554 : sfackler/rust/jemalloc-fix, r=thestinger 2014-11-03 01:27:18 +00:00
Alexis Beingessner
112c8a966f refactor libcollections as part of collection reform
* Moves multi-collection files into their own directory, and splits them into seperate files
* Changes exports so that each collection has its own module
* Adds underscores to public modules and filenames to match standard naming conventions

(that is, treemap::{TreeMap, TreeSet} => tree_map::TreeMap, tree_set::TreeSet)

* Renames PriorityQueue to BinaryHeap
* Renames SmallIntMap to VecMap
* Miscellanious fallout fixes

[breaking-change]
2014-11-02 18:58:11 -05:00
Steven Fackler
711a955e0c Work around jemalloc/jemalloc#161 2014-11-02 15:52:16 -08:00
Aaron Turon
38e0745e3f Add type annotation to deal with fallout 2014-11-02 15:31:52 -08:00
Aaron Turon
7c152f870d Add Error impls to a few key error types 2014-11-02 15:31:52 -08:00
bors
b87619e274 auto merge of #18456 : gamazeps/rust/issue18449, r=thestinger
Made the fact that rodata is a section of the executable more explicit
Closes #18449
2014-11-02 23:27:10 +00:00
Aaron Turon
6815c2e8e8 Add error module with Error and FromError traits
As per [RFC 70](https://github.com/rust-lang/rfcs/blob/master/active/0070-error-chaining.md)

Closes #17747

Note that the `error` module must live in `std` in order to refer to `String`.

Note that, until multidispatch lands, the `FromError` trait cannot be
usefully implemented outside of the blanket impl given here.
2014-11-02 15:25:38 -08:00
bors
a294b35060 auto merge of #18406 : thestinger/rust/oom, r=cmr
This makes the low-level allocation API suitable for use cases where
out-of-memory conditions need to be handled.

Closes #18292

[breaking-change]
2014-11-02 21:22:14 +00:00
Luqman Aden
76cc107811 librustc: Check if return type is void not zero-sized for fn->closure wrapper. 2014-11-02 14:43:52 -05:00
bors
0c1268451b auto merge of #18481 : sfackler/rust/enum-namespace, r=pcwalton
After a snapshot, everything can be switched over and the small bit of hackery in resolve dealing with `ENUM_STAGING_HACK` can be removed.

cc #18478
2014-11-02 19:22:16 +00:00
Jakub Bukaj
c77a313570 Mark the struct_inherit feature as removed 2014-11-02 18:40:30 +01:00
Jorge Aparicio
3a075dce9a core: Replace secret formatting functions with UFCS versions 2014-11-02 09:43:12 -05:00
Jorge Aparicio
fc838ad0fd syntax: Use UFCS instead of secret_* fns in expansion of format_args! 2014-11-02 09:43:12 -05:00
Robin Stocker
41a8a15663 Extend documentation of getopts for arguments 2014-11-02 17:38:44 +11:00
Brian Koropoff
107af28103 Add regression test 2014-11-01 20:21:55 -07:00
Brian Koropoff
cf7756442f Always consider static methods object-safe
This also fixes #18490 as a side-effect by avoiding a later
out-of-bounds slice.
2014-11-01 20:15:48 -07:00
P1start
5bf9ef2122 Convert some notes to help messages
Closes #18126.
2014-11-02 16:12:23 +13:00
Mike Robinson
2c2c45535a Update error messages from "vector" to "array" 2014-11-02 03:11:08 +00:00
Brian Koropoff
949dbc11ff Add regression test for #18501 2014-11-01 19:07:51 -07:00