Commit graph

67797 commits

Author SHA1 Message Date
Alex Crichton
48193c2fe0 Rollup merge of #44356 - nrc:rls-component-manifest, r=@alexcrichton
Attempt to fix the component manifest problem for rls-preview

cc #44270

See #44270
2017-09-16 17:09:37 -07:00
Alex Crichton
2a844b3d0d Rollup merge of #44273 - bluss:rc-downcast, r=alexcrichton
Implement <Rc<Any>>::downcast

* Implement `<Rc<Any>>::downcast::<T>`
  * New unstable method. Works just like Box\<Any\>, but for Rc.
  * Any has two cases for its methods: Any and Any + Send; Rc is never Send, so that case is skipped for Rc.
  * Motivation for being a method with self is to match Box and there is no user-supplied type; the inner type is Any and downcast does not conflict with any method of Any.
* Arc was skipped because Any itself has no downcast for the case that makes most sense: Any + Send + Sync
2017-09-16 17:09:36 -07:00
Murarth
1cbb2b3a88 Implement Arc/Rc raw pointer conversions for ?Sized
* Add `T: ?Sized` bound to {`Arc`,`Rc`}::{`from_raw`,`into_raw`}
2017-09-16 16:34:13 -07:00
bors
b492405b1f Auto merge of #43989 - circuitfox:sliceext-binary-search-sig, r=alexcrichton
Remove Borrow bound from SliceExt::binary_search

#37761 added a Borrow bound to `binary_search` and `binary_search_by_key` in `core::SliceExt`, but did not add it to the methods in `std::slice`. #41590 attempted to add this bound to `std::slice` but was not merged due to breakage. This PR removes the bound in `core::SliceExt`, so that these methods will have the same signature in `core` and `std`.

Fixes #41561
2017-09-16 22:20:55 +00:00
Michal Budzynski
04855950b9 stabilized needs_drop (fixes #41890) 2017-09-16 23:41:04 +02:00
Michal Budzynski
b7152901ce stabilized iterator_for_each (closes #42986)
updated clippy and rls as it uses the iterator_for_each
2017-09-16 22:49:40 +02:00
Michal Budzynski
5f62c0c864 Added more text from unstable-book to compiler_fence docs 2017-09-16 22:18:46 +02:00
Michal Budzynski
9a60bb077c Added example to compiler_fence docs taken from unstable-book 2017-09-16 22:18:46 +02:00
Michal Budzynski
8a11172d6b stabilized compiler_fences (fixes #41091) 2017-09-16 22:18:46 +02:00
bors
277476c4fb Auto merge of #43964 - Gankro:unsafe-reform, r=sfackler
implement unsafe pointer methods

I also cleaned up some existing documentation a bit here or there since I was doing so much auditing of it. Most notably I significantly rewrote the `offset` docs to clarify safety (`*const` and `*mut`'s offset docs had actually diverged).
2017-09-16 19:54:58 +00:00
bors
ae8efdc87d Auto merge of #43017 - durka:stabilize-const-invocation, r=eddyb
Individualize feature gates for const fn invocation

This PR changes the meaning of `#![feature(const_fn)]` so it is only required to declare a const fn but not to call one. Based on discussion at #24111. I was hoping we could have an FCP here in order to move that conversation forward.

This sets the stage for future stabilization of the constness of several functions in the standard library (listed below), so could someone please tag the lang team for review.

- `std::cell`
    - `Cell::new`
    - `RefCell::new`
    - `UnsafeCell::new`
- `std::mem`
    - `size_of`
    - `align_of`
- `std::ptr`
    - `null`
    - `null_mut`
- `std::sync`
    - `atomic`
        - `Atomic{Bool,Ptr,Isize,Usize}::new`
    - `once`
        - `Once::new`
- primitives
    - `{integer}::min_value`
    - `{integer}::max_value`

Some other functions are const but they are also unstable or hidden, e.g. `Unique::new` so they don't have to be considered at this time.

After this stabilization, the following `*_INIT` constants in the standard library can be deprecated. I wasn't sure whether to include those deprecations in the current PR.

- `std::sync`
    - `atomic`
        - `ATOMIC_{BOOL,ISIZE,USIZE}_INIT`
    - `once`
        - `ONCE_INIT`
2017-09-16 17:02:17 +00:00
Alex Burka
332c38cd70 bump rls 2017-09-16 15:53:02 +00:00
Alex Burka
681e5da61e change #![feature(const_fn)] to specific gates 2017-09-16 15:53:02 +00:00
Alex Crichton
5cfee9b854 ci: Upload/download from a new S3 bucket
Moving buckets from us-east-1 to us-west-1 because us-west-1 is where
rust-central-station itself runs and in general is where we have all our other
buckets.
2017-09-16 08:35:47 -07:00
kennytm
9f763549c1
Make use of Travis's conditional jobs. 2017-09-16 19:28:08 +08:00
Ralf Jung
83589f2808 fix test name being printed twice for ui tests 2017-09-16 13:12:58 +02:00
Ralf Jung
474c717644 compiletest: print the correct basename of the src dir 2017-09-16 13:12:53 +02:00
bors
b965d55a32 Auto merge of #44605 - alexcrichton:less-rustdoc, r=Mark-Simulacrum
rustbuild: Compile the error-index in stage 2

Right now we comiple rustdoc in stage 2 and the error index in stage 0, which
ends up compiling rustdoc twice! To avoid compiling rustdoc twice (which takes
awhile) let's just compile it once in stage 2.
2017-09-16 09:26:45 +00:00
Jessica Hamilton
3443dd8801 ci: haiku: wrap lines as necessary for tidy. 2017-09-16 01:00:40 -05:00
bors
3a7ab6cdd1 Auto merge of #44610 - alexcrichton:osx-no-assertions, r=Mark-Simulacrum
travis: Disable LLVM assertions on OSX

Our OSX builders are routinely and significantly over hour 2 hour "soft limit"
for testing PRs. I *think* that a big portion of this time comes from the fact
that LLVM and debug assertions are enabled. In an effort to speed up these
builders and reduce cycle time this commit disables LLVM assertions on OSX for
all builders.

My thinking is that we'll let this bake for a bit after merged to see what the
effect is on timing on Travis. If it doesn't actually help much we can turn them
back on, and if it doesn't help enough we can disable Rust debug assertions as
well.
2017-09-16 04:04:24 +00:00
Jessica Hamilton
06d8118d8e ci: haiku: rename llvm-config to address tidy issues. 2017-09-15 21:51:50 -05:00
Corey Farwell
5ff7064330 Fix incorrect into_inner link in docs.
Fixes https://github.com/rust-lang/rust/issues/42373.
2017-09-15 21:52:40 -04:00
Jessica Hamilton
4fb402c37b ci: move dist-x86_64-haiku into disabled. 2017-09-15 19:04:24 -05:00
Alex Crichton
3da54fb036 rustbuild: Fix test "test rustdoc" invocation
Previously it would use the librustc output directory which would cause rustdoc
to get entirely recompiled, whereas the intention is that it uses the
already-compiled artifacts from building rustdoc itself, using the tool output
directory
2017-09-15 15:28:59 -07:00
Alex Crichton
97fee3e94b travis: Disable LLVM assertions on OSX
Our OSX builders are routinely and significantly over hour 2 hour "soft limit"
for testing PRs. I *think* that a big portion of this time comes from the fact
that LLVM and debug assertions are enabled. In an effort to speed up these
builders and reduce cycle time this commit disables LLVM assertions on OSX for
all builders.

My thinking is that we'll let this bake for a bit after merged to see what the
effect is on timing on Travis. If it doesn't actually help much we can turn them
back on, and if it doesn't help enough we can disable Rust debug assertions as
well.
2017-09-15 10:34:05 -07:00
Jon Gjengset
f7e974e432
HashMap::new and HashSet::new do not allocate 2017-09-15 13:32:56 -04:00
Josh Stone
351f56a603 Add a specific test for FlatMap::fold 2017-09-15 10:30:56 -07:00
Ulrik Sverdrup
3a39d95330 alloc: Add tracking issue for rc_downcast 2017-09-15 19:16:22 +02:00
Alex Crichton
6fdadaaa96 rustbuild: Update cmake dependency
Should help suppress some warnings from various repos as `cmake` in the newest
version disables warnings by default.
2017-09-15 09:37:52 -07:00
Alex Crichton
61e255a534 rustbuild: Compile the error-index in stage 2
Right now we comiple rustdoc in stage 2 and the error index in stage 0, which
ends up compiling rustdoc twice! To avoid compiling rustdoc twice (which takes
awhile) let's just compile it once in stage 2.
2017-09-15 09:35:08 -07:00
Ralf Jung
9a01dc43ff update rust-installer 2017-09-15 16:29:21 +02:00
Alex Crichton
2819122b44 Update cargo submodule
Just a routine update
2017-09-15 07:18:21 -07:00
Michal Budzynski
5398e03704 stabilized ord_max_min (fixes #25663) 2017-09-15 12:54:03 +02:00
Oliver Schneider
1b571a0cfc
Get allow(unused_mut) to work on let bindings
fixes #40491
2017-09-15 10:36:14 +02:00
bors
fd4bef54ab Auto merge of #43949 - GuillaumeGomez:compile_fail_stable, r=alexcrichton
Compile fail stable

Since #30726, we never made the `compile_fail` flag nor the error code check stable. I think it's time to change this fact.

r? @alexcrichton
2017-09-15 08:05:39 +00:00
Makoto Kato
07494ecf78 Require +thumb-mode to generate thumb2 code for Android/armv7-a 2017-09-15 14:42:03 +09:00
Alex Crichton
a7817dd52c rustc: Preallocate when building the dep graph
This commit alters the `query` function in the dep graph module to preallocate
memory using `with_capacity` instead of relying on automatic growth. Discovered
in #44576 it was found that for the syntex_syntax clean incremental benchmark
the peak memory usage was found when the dep graph was being saved, particularly
the `DepGraphQuery` data structure itself. PRs like #44142 which add more
queries end up just making this much larger!

I didn't see an immediately obvious way to reduce the size of the
`DepGraphQuery` object, but it turns out that `with_capacity` helps quite a bit!
Locally 831 MB was used [before] this commit, and 770 MB is in use at the peak
of the compiler [after] this commit. That's a nice 7.5% improvement! This won't
quite make up for the losses in #44142 but I figured it's a good start.

[before]: https://gist.github.com/alexcrichton/2d2b9c7a65503761925c5a0bcfeb0d1e
[before]: https://gist.github.com/alexcrichton/6da51f2a6184bfb81694cc44f06deb5b
2017-09-14 21:28:55 -07:00
bors
d86a7f7a78 Auto merge of #44585 - frewsxcv:rollup, r=frewsxcv
Rollup of 23 pull requests

- Successful merges: #44131, #44254, #44368, #44374, #44378, #44388, #44430, #44450, #44453, #44472, #44476, #44477, #44485, #44497, #44521, #44534, #44536, #44541, #44552, #44559, #44563, #44569, #44572
- Failed merges:
2017-09-15 04:22:45 +00:00
Corey Farwell
68e0f28304 Rollup merge of #44572 - frewsxcv:frewsxcv-from-utf16-lossy, r=QuietMisdreavus
Clarify return type of `String::from_utf16_lossy`.

Fixes https://github.com/rust-lang/rust/issues/32874
2017-09-14 22:32:52 -04:00
Corey Farwell
2a86884a37 Rollup merge of #44569 - est31:master, r=estebank
"avoid" is a better word here than "disable"

You don't "disable" the warning really, you just avoid it (as a conscious action).
2017-09-14 22:32:51 -04:00
Corey Farwell
4af8acd6c1 Rollup merge of #44563 - budziq:stablilize_tcpstream_connect_timeout, r=alexcrichton
stabilize tcpstream_connect_timeout (closes #43079)
2017-09-14 22:32:50 -04:00
Corey Farwell
19ad12af65 Rollup merge of #44559 - frewsxcv:frewsxcv-rm-loop, r=sfackler
Remove unneeded `loop`.

None
2017-09-14 22:32:49 -04:00
Corey Farwell
ffd286ba6f Rollup merge of #44552 - durka:patch-42, r=alexcrichton
update "since" for discriminant_value

It's [going](https://github.com/rust-lang/rust/pull/44263#issuecomment-329257597) to be backported to beta.

r? @alexcrichton
2017-09-14 22:32:48 -04:00
Corey Farwell
b87e4f6421 Rollup merge of #44541 - GuillaumeGomez:openoptions-docs, r=QuietMisdreavus
Openoptions docs

r? @QuietMisdreavus
2017-09-14 22:32:48 -04:00
Corey Farwell
3e478fd512 Rollup merge of #44536 - Havvy:transmute-docs, r=steveklabnik
Fix example in transmute; add safety requirement to Vec::from_raw_parts

This fixes the second bullet point on #44281 and also removes some incorrect information.
2017-09-14 22:32:47 -04:00
Corey Farwell
a48cc80d57 Rollup merge of #44534 - adlerd:drain_filter_doctest, r=bluss
Fix drain_filter doctest.

Fixes #44499.

Also change some of the hidden logic in the doctest as a regression test; two bugs in the original would now cause test failure.
2017-09-14 22:32:46 -04:00
Corey Farwell
50240f80f1 Rollup merge of #44521 - rwakulszowa:str_utf16_doc, r=frewsxcv
Add an example of std::str::encode_utf16

Closes #44419
2017-09-14 22:32:45 -04:00
Corey Farwell
1d361ff2a5 Rollup merge of #44497 - tommyip:doc_example, r=frewsxcv
Add doc example to str::from_boxed_utf8_unchecked

Fixes #44463.
2017-09-14 22:32:44 -04:00
Corey Farwell
e3c4b8c43a Rollup merge of #44485 - 42triangles:master, r=frewsxcv
Added an example for `std::str::into_boxed_bytes()`

This solves issue #44423.
2017-09-14 22:32:43 -04:00
Corey Farwell
592cafeb3d Rollup merge of #44477 - napen123:master, r=frewsxcv
Add doc examples to str::from_utf8_unchecked_mut

Fixes #44461
2017-09-14 22:32:42 -04:00