Commit Graph

57666 Commits

Author SHA1 Message Date
Corey Farwell
a8e257091b Use Cow instead of String to avoid unnecessary allocations. 2016-10-10 19:35:22 -04:00
Corey Farwell
3a15475d36 Convert String generating functions into &str constants. 2016-10-10 19:28:16 -04:00
bors
6d620843f6 Auto merge of #36341 - sagebind:thread_id, r=alexcrichton
Add ThreadId for comparing threads

This adds the capability to store and compare threads with the current calling thread via a new struct, `std:🧵:ThreadId`. Addresses the need outlined in issue #21507.

This avoids the need to add any special checks to the existing thread structs and does not rely on the system to provide an identifier for a thread, since it seems that this approach is unreliable and undesirable. Instead, this simply uses a lazily-created, thread-local `usize` whose value is copied from a global atomic counter. The code should be simple enough that it should be as much reliable as the `#[thread_local]` attribute it uses (however much that is).

`ThreadId`s can be compared directly for equality and have copy semantics.

Also see these other attempts:
- rust-lang/rust#29457
- rust-lang/rust#29448
- rust-lang/rust#29447

And this in the RFC repo: rust-lang/rfcs#1435
2016-10-10 04:04:51 -07:00
bors
a7bfb1aba9 Auto merge of #37055 - kali:master, r=alexcrichton
use MSG_NOSIGNAL on all relevant platforms

followup #36824
2016-10-09 10:07:39 -07:00
Mathieu Poumeyrol
14f9cbdfd5 use MSG_NOSIGNAL on all relevant platforms 2016-10-09 13:01:29 +02:00
bors
9d4d0da7af Auto merge of #36982 - GuillaumeGomez:slice_urls, r=frewsxcv
Add missing urls in slice doc module

r? @steveklabnik
2016-10-09 00:35:56 -07:00
bors
b98cc352cb Auto merge of #36637 - GuillaumeGomez:fix_run_button, r=bluss
Fixes run button appearing when it shouldn't

Fixes #36621.

r? @steveklabnik
2016-10-08 19:42:55 -07:00
bors
19ac57926a Auto merge of #37041 - tbu-:pr_less_sizet_casts, r=alexcrichton
Use less `size_t` casts in libstd since it's now defined as `usize`
2016-10-08 15:59:49 -07:00
bors
bff06afbc5 Auto merge of #37027 - alexcrichton:less-deps-in-bootstrap, r=japaric
rustbuild: Optimize build times slightly

As the entry point for building the Rust compiler, a good user experience hinges
on this compiling quickly to get to the meat of the problem. To that end use
`#[cfg]`-specific dependencies to avoid building Windows crates on Unix and drop
the `regex` crate for now which was easily replacable with some string
searching.
2016-10-08 12:36:11 -07:00
Alex Crichton
d17f0b0dd7 rustbuild: Optimize build times slightly
As the entry point for building the Rust compiler, a good user experience hinges
on this compiling quickly to get to the meat of the problem. To that end use
`#[cfg]`-specific dependencies to avoid building Windows crates on Unix and drop
the `regex` crate for now which was easily replacable with some string
searching.
2016-10-08 11:11:00 -07:00
Guillaume Gomez
89870b3305 Add missing urls in slice doc module 2016-10-08 18:08:32 +02:00
Tobias Bucher
717d2ddca7 Use less size_t casts in libstd since it's now defined as usize 2016-10-08 15:48:28 +02:00
bors
4344f147aa Auto merge of #37039 - Manishearth:rollup, r=Manishearth
Rollup of 6 pull requests

- Successful merges: #36937, #37016, #37028, #37029, #37031, #37034
- Failed merges: #37027
2016-10-08 05:55:27 -07:00
Manish Goregaokar
69f4126da5 Rollup merge of #37034 - nox:empty-trait-list, r=alexcrichton
Do not add an empty #[derive()] list in expand_derive (fixes #37033)
2016-10-08 16:52:44 +05:30
Manish Goregaokar
c1a19b8481 Rollup merge of #37031 - fitzgen:typo-in-gcc-rs-comment, r=alexcrichton
Fix a typo in a comment describing gcc.rs's eh_frame_registry module

s/reigster/register/

r? @alexcrichton
2016-10-08 16:52:43 +05:30
Manish Goregaokar
73a9b8accd Rollup merge of #37029 - japaric:no-panics-in-checked-ops, r=alexcrichton
rewrite checked_{div,rem} to no contain any reference to panics

even without optimizations

r? @alexcrichton
2016-10-08 16:52:43 +05:30
Manish Goregaokar
3e6cc822d3 Rollup merge of #37028 - alexcrichton:fix-deps, r=japaric
rustbuild: Fix dependencies of check-docs step

Some of the doc tests depend on `extern crate test`, so depend on libtest
instead of libstd here.
2016-10-08 16:52:43 +05:30
Manish Goregaokar
06c5bd5135 Rollup merge of #37016 - alexcrichton:workspaces, r=japaric
Leverage Cargo workspaces in rustbuild

This is a continuation of https://github.com/rust-lang/rust/pull/36032 which implements the change to use `cargo metadata` to learn about the crate graph.
2016-10-08 16:52:43 +05:30
Manish Goregaokar
1d204685a4 Rollup merge of #36937 - wesleywiser:patch-3, r=frewsxcv
Fix documentation for `write!` on `std::fmt` page

Fixes #36906
2016-10-08 16:52:43 +05:30
bors
b5fcca5cd7 Auto merge of #37015 - ahmedcharles:sudo, r=alexcrichton
Prevent accidentally running 'make install' as sudo.

r? @alexcrichton

I missed this in the previous PR, but this seems to work. It should probably go in a rollup, but I don't know how to do those. :/
2016-10-08 02:23:47 -07:00
bors
195dbfa098 Auto merge of #37014 - nnethercote:avoid-pat_to_string, r=arielb1
Avoid some `pat_to_string` calls.

`ty_of_method_or_bare_fn` currently calls `pat_to_string` even when it
doesn't need to. Fixing this avoids hundreds of large allocations (e.g.
171,600 bytes, in `mk_printer`) in several of rustc-benchmarks.
2016-10-07 22:51:04 -07:00
bors
49be16e766 Auto merge of #37006 - brson:jsbackend, r=alexcrichton
Turn on JSBackend in the makefiles

This should make the nightlies work with emscripten. r? @alexcrichton

Closes #37004
2016-10-07 18:17:54 -07:00
Alex Crichton
147e2da13a rustbuild: Use cargo metadata to learn about DAG
This updates the commit to use workspaces to use `cargo metadata` instead of
hardcoded lists about what to test. This should help us be resilient to updates
in the future on behalf of the crate DAG and minimize the amount of files that
need to be touched.
2016-10-07 17:17:07 -07:00
Anthony Ramine
0d1ab4e9e4 Do not add an empty #[derive()] list in expand_derive (fixes #37033) 2016-10-08 01:49:11 +02:00
Stephen M. Coakley
032bffa5b8
Unlock guard before overflow panic 2016-10-07 17:45:04 -05:00
Nick Fitzgerald
75c0d3f657 Fix a typo in a comment describing gcc.rs's eh_frame_registry module
s/reigster/register/
2016-10-07 15:00:48 -07:00
Jorge Aparicio
c66ae29883 rewrite checked_{div,rem} to no contain any reference to panics
even without optimizations
2016-10-07 15:14:28 -05:00
Alex Crichton
32089ae2c6 rustbuild: Fix dependencies of check-docs step
Some of the doc tests depend on `extern crate test`, so depend on libtest
instead of libstd here.
2016-10-07 12:28:54 -07:00
Ahmed Charles
9ca382f95f Use workspaces and switch to a single Cargo.lock.
This involves hacking the code used to run cargo test on various
packages, because it reads Cargo.lock to determine which packages should
be tested. This change implements a blacklist, since that will catch new
crates when they are added in the future.
2016-10-07 12:04:32 -07:00
bors
6e8f92f11c Auto merge of #36981 - alexcrichton:catch-unwind-for-tests, r=sfackler
std: Minor cleanup to libtest

* Don't spawn two threads for all tests, just one now that `catch_unwind` is
  stable.
* Remove usage of the unstable `box` keyword
* Remove usage of the unstable `FnBox` trait
2016-10-07 11:38:27 -07:00
bors
ca76c7e014 Auto merge of #36945 - alexcrichton:proc-macro-rename, r=nrc
rustc: Rename rustc_macro to proc_macro

This commit blanket renames the `rustc_macro` infrastructure to `proc_macro`,
which reflects the general consensus of #35900. A follow up PR to Cargo will be
required to purge the `rustc-macro` name as well.
2016-10-07 07:58:27 -07:00
Nicholas Nethercote
e5ffaded39 Avoid some pat_to_string calls.
`ty_of_method_or_bare_fn` currently calls `pat_to_string` even when it
doesn't need to. Fixing this avoids hundreds of large allocations (e.g.
171,600 bytes, in `mk_printer`) in several of the rustc-benchmarks.
2016-10-08 00:59:49 +11:00
Wesley Wiser
bbd0040bb3 Fix documentation for write! on std::fmt page
Fixes #36906
2016-10-07 09:53:23 -04:00
bors
e51190cf07 Auto merge of #37024 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 5 pull requests

- Successful merges: #36222, #36665, #36929, #37003, #37008
- Failed merges:
2016-10-07 04:24:24 -07:00
Guillaume Gomez
3e6307644a Rollup merge of #37008 - tshepang:quotes, r=steveklabnik
reference: use ticks instead of quotes
2016-10-07 11:45:05 +02:00
Guillaume Gomez
b40285102b Rollup merge of #37003 - GuillaumeGomez:underline-removal, r=steveklabnik
Remove underline when run button hovered

r? @steveklabnik
2016-10-07 11:45:04 +02:00
Guillaume Gomez
bf41e9fee2 Rollup merge of #36929 - angelsl:issue-36683, r=steveklabnik
Reference: Mention `move` keyword for lambdas

From issue #36683
2016-10-07 11:45:04 +02:00
Guillaume Gomez
c75001b2af Rollup merge of #36665 - kmcallister:arc-docs, r=steveklabnik
Update Arc docs to match new Rc docs

`Rc` docs were updated in #36571. This applies similar changes to `Arc` docs.

r? @GuillaumeGomez
2016-10-07 11:45:04 +02:00
Guillaume Gomez
85e95cc801 Rollup merge of #36222 - acrrd:better_underline_E0057, r=GuillaumeGomez
Better underline for E0057,E0060,E0061

Fix #35214
Part of #35233

r? @jonathandturner
2016-10-07 11:45:04 +02:00
bors
e2bd2d83dd Auto merge of #36940 - eulerdisk:incr_test_for_hash_trait, r=michaelwoerister
Test Case for Incr. Comp. Hash for traits #36681.

Fixes #36681
Part of #36350

Currently, the following tests fail:

Unsafe modifier
Extern modifier
Extern c to rust-intrinsic
Trait unsafety
Change type of method parameter (&i32 => &mut i32)
Mode of self parameter

r? @michaelwoerister
2016-10-07 00:51:28 -07:00
bors
b4e89728f4 Auto merge of #36753 - srinivasreddy:hash, r=nrc
run rustfmt on libstd/collections/hash folder
2016-10-06 21:53:29 -07:00
Ahmed Charles
f171d98804 Prevent accidentally running 'make install' as sudo. 2016-10-06 19:38:30 -07:00
bors
75c155b834 Auto merge of #35641 - ahmedcharles:install, r=alexcrichton
rustbuild: Add install target. #34675

It just prints to the screen currently.

r? @alexcrichton

I'm working on the next commit to actually have it install.
2016-10-06 16:31:27 -07:00
Tshepang Lekhonkhobe
13f9dae8e9 reference: use ticks instead of quotes 2016-10-06 22:29:05 +02:00
Andrea Corradi
d0c6172501 Better underline for E0057,E0060,E0061 2016-10-06 22:02:46 +02:00
Brian Anderson
5388d3fbe8 Turn on JSBackend in the makefiles 2016-10-06 19:02:28 +00:00
bors
ad19c32a58 Auto merge of #37002 - jonathandturner:rollup, r=jonathandturner
Rollup of 15 pull requests

- Successful merges: #36726, #36832, #36909, #36930, #36932, #36957, #36959, #36960, #36962, #36965, #36966, #36967, #36972, #36974, #36977
- Failed merges:
2016-10-06 11:42:34 -07:00
Alex Crichton
2148bdfcc7 rustc: Rename rustc_macro to proc_macro
This commit blanket renames the `rustc_macro` infrastructure to `proc_macro`,
which reflects the general consensus of #35900. A follow up PR to Cargo will be
required to purge the `rustc-macro` name as well.
2016-10-06 11:07:23 -07:00
Guillaume Gomez
4b402dbe69 Remove underline when run button hovered 2016-10-06 18:10:00 +02:00
Alex Crichton
0714024c99 std: Minor cleanup to libtest
* Don't spawn two threads for all tests, just one now that `catch_unwind` is
  stable.
* Remove usage of the unstable `box` keyword
* Remove usage of the unstable `FnBox` trait
2016-10-06 09:02:33 -07:00