about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2017-07-13Update docs on Error struct. #29355Ryan Thomas-0/+16
This adds a pretty contrived example of the usage of fmt::Error. I am very open to suggestions for a better one. I have also highlighted the fmt::Error vs std::error::Error. r? @steveklabnik
2017-06-22Auto merge of #42634 - Zoxc:for-desugar2, r=nikomatsakisbors-12/+137
Change the for-loop desugar so the `break` does not affect type inference. Fixes #42618 Rewrite the `for` loop desugaring to avoid contaminating the inference results. Under the older desugaring, `for x in vec![] { .. }` would erroneously type-check, even though the type of `vec![]` is unconstrained. (written by @nikomatsakis)
2017-06-22Auto merge of #42824 - Mark-Simulacrum:rollup, r=Mark-Simulacrumbors-8/+66
Rollup of 4 pull requests - Successful merges: #42799, #42804, #42805, #42806 - Failed merges:
2017-06-22Rollup merge of #42806 - ollie27:rustbuild_compiler_docs, r=alexcrichtonMark Simulacrum-7/+16
rustbuild: Fix compiler docs yet again Add support for `-Z force-unstable-if-unmarked` to rustdoc. r? @alexcrichton
2017-06-22Rollup merge of #42805 - stepancheg:forward-python, r=alexcrichtonMark Simulacrum-0/+8
Pass path to python from bootstrap.py to bootstrap.rs When bootstrap is executed with python not in `$PATH`, (e. g. `c:\Python27\python.exe x.py test`) bootstrap cannot find python and crashes. This commit passes path to python in `BOOTSTRAP_PYTHON` env var.
2017-06-22Rollup merge of #42804 - Mark-Simulacrum:rustbuild-colors, r=alexcrichtonMark Simulacrum-0/+41
Make rustc errors colorful. Rustbuild passes --message-format=json to Cargo to learn about the dependencies for a given build, which then makes Cargo steal the stderr/stdout for the compiler process, leading to non colorful output. To avoid this, detection of stderr being a tty is added to rustbuild, and an environment variable is used to communicate with the rustc shim. Fixes https://github.com/rust-lang/rust/issues/42801. r? @alexcrichton
2017-06-22Rollup merge of #42799 - leodasvacas:impl-clone-for-default-hasher, r=sfacklerMark Simulacrum-1/+1
Impl Clone for DefaultHasher It's useful for a hasher to be `Clone`. It's also strange for any type to not be `Clone`. `DefaultHasher` is not meant to be used directly, but being in std it can be useful as a placeholder. I don't see any forward compatibility hazard if the hasher is changed since it's very rare for something to not be `Clone`.
2017-06-22Auto merge of #42798 - stepancheg:args-debug, r=sfacklerbors-2/+59
Better Debug for Args and ArgsOs Display actual args instead of two dots.
2017-06-22Auto merge of #42803 - michaelwoerister:msdia-workaround, r=vadimcnbors-3/+27
debuginfo: Work around crash-bug in MSDIA library Fixes https://github.com/rust-lang/rust/issues/40477 (which also contains a description of the issue being fixed). r? @vadimcn
2017-06-22debuginfo: Work around crash-bug in MSDIA libraryMichael Woerister-3/+27
2017-06-22Auto merge of #42785 - Mark-Simulacrum:fix-verbose-bootstrap, r=alexcrichtonbors-9/+9
Fixes bootstrapping with custom cargo/rustc. config.mk is now always read when parsing the configuration to prevent this from reoccurring in the future, hopefully. Fixes https://github.com/rust-lang/rust/issues/42543. r? @alexcrichton cc @infinity0 @kyrias
2017-06-22Auto merge of #42682 - alexcrichton:jobserver, r=michaelwoeristerbors-311/+514
Integrate jobserver support to parallel codegen This commit integrates the `jobserver` crate into the compiler. The crate was previously integrated in to Cargo as part of rust-lang/cargo#4110. The purpose here is to two-fold: * Primarily the compiler can cooperate with Cargo on parallelism. When you run `cargo build -j4` then this'll make sure that the entire build process between Cargo/rustc won't use more than 4 cores, whereas today you'd get 4 rustc instances which may all try to spawn lots of threads. * Secondarily rustc/Cargo can now integrate with a foreign GNU `make` jobserver. This means that if you call cargo/rustc from `make` or another jobserver-compatible implementation it'll use foreign parallelism settings instead of creating new ones locally. As the number of parallel codegen instances in the compiler continues to grow over time with the advent of incremental compilation it's expected that this'll become more of a problem, so this is intended to nip concurrent concerns in the bud by having all the tools to cooperate! Note that while rustc has support for itself creating a jobserver it's far more likely that rustc will always use the jobserver configured by Cargo. Cargo today will now set a jobserver unconditionally for rustc to use.
2017-06-21Auto merge of #42771 - arielb1:no-inline-unwind, r=nagisabors-2/+7
mark calls in the unwind path as !noinline The unwind path is always cold, so that should not have bad performance implications. This avoids catastrophic exponential inlining, and also decreases the size of librustc.so by 1.5% (OTOH, the size of `libstd.so` increased by 0.5% for some reason). Fixes #41696. r? @nagisa
2017-06-21rustbuild: Fix compiler docs yet againOliver Middleton-7/+16
Add support for `-Z force-unstable-if-unmarked` to rustdoc.
2017-06-21Make rustc errors colorful.Mark Simulacrum-0/+41
Rustbuild passes --message-format=json to Cargo to learn about the dependencies for a given build, which then makes Cargo steal the stderr/stdout for the compiler process, leading to non colorful output. To avoid this, detection of stderr being a tty is added to rustbuild, and an environment variable is used to communicate with the rustc shim.
2017-06-21Pass path to python from bootstrap.py to bootstrap.rsStepan Koltsov-0/+8
When bootstrap is executed with python not in `$PATH`, (e. g. `c:\Python27\python.exe x.py test`) bootstrap cannot find python and crashes. This commit passes path to python in `BOOTSTRAP_PYTHON` env var.
2017-06-21Auto merge of #42802 - frewsxcv:rollup, r=frewsxcvbors-14/+123
Rollup of 4 pull requests - Successful merges: #42397, #42620, #42762, #42766 - Failed merges:
2017-06-21Rollup merge of #42766 - nrc:versions, r=nagisaCorey Farwell-4/+4
Update rls-data version And update the RLS submod
2017-06-21Rollup merge of #42762 - jackpot51:patch-1, r=sfacklerCorey Farwell-2/+2
Disable repr(simd) in mem::swap on Redox This addresses https://github.com/rust-lang/rust/issues/42761
2017-06-21Rollup merge of #42620 - wesleywiser:compile_error, r=brsonCorey Farwell-0/+116
Add compile_error! Related to #40872
2017-06-21Rollup merge of #42397 - sfackler:syncsender-sync, r=alexcrichtonCorey Farwell-8/+1
Implement Sync for SyncSender r? @alexcrichton
2017-06-21Integrate jobserver support to parallel codegenAlex Crichton-311/+514
This commit integrates the `jobserver` crate into the compiler. The crate was previously integrated in to Cargo as part of rust-lang/cargo#4110. The purpose here is to two-fold: * Primarily the compiler can cooperate with Cargo on parallelism. When you run `cargo build -j4` then this'll make sure that the entire build process between Cargo/rustc won't use more than 4 cores, whereas today you'd get 4 rustc instances which may all try to spawn lots of threads. * Secondarily rustc/Cargo can now integrate with a foreign GNU `make` jobserver. This means that if you call cargo/rustc from `make` or another jobserver-compatible implementation it'll use foreign parallelism settings instead of creating new ones locally. As the number of parallel codegen instances in the compiler continues to grow over time with the advent of incremental compilation it's expected that this'll become more of a problem, so this is intended to nip concurrent concerns in the bud by having all the tools to cooperate! Note that while rustc has support for itself creating a jobserver it's far more likely that rustc will always use the jobserver configured by Cargo. Cargo today will now set a jobserver unconditionally for rustc to use.
2017-06-21Impl Clone for DefaultHasherLeonardo Yvens-1/+1
2017-06-21Better Debug for Args and ArgsOsStepan Koltsov-2/+59
Display actual args instead of two dots.
2017-06-21Auto merge of #42751 - arielb1:fast-representable, r=eddybbors-13/+99
Memoize types in `is_representable` to avoid exponential worst-case I could have made representability a cached query, but that would have been added complexity for not much benefit - outside of the exponential worst-case, this pass is fast enough already. Fixes #42747. r? @eddyb
2017-06-21Auto merge of #42750 - arielb1:unwind-stack, r=eddybbors-1/+103
Update LLVM to pick StackColoring improvement Fixes #40883. r? @eddyb
2017-06-21Auto merge of #42664 - alexcrichton:moar-crates, r=eddybbors-2408/+388
Remove in-tree flate/getopts crates Remove `src/libflate` in favor of `flate2` on crates.io and `src/libgetopts` in favor of `getopts` on crates.io. The replacements have slightly different APIs and the usage in the compiler has been updated to reflect this. This uncovered an unfortunate limitation of the compiler today to deal with linking everything correctly, and the workaround can be found documented in `src/librustc/Cargo.toml`.
2017-06-21Auto merge of #42002 - sfackler:trusted-read, r=alexcrichtonbors-269/+222
Add a Read::initializer method This is an API that allows types to indicate that they can be passed buffers of uninitialized memory which can improve performance. cc @SimonSapin r? @alexcrichton
2017-06-20Add `Read::initializer`.Steven Fackler-269/+222
This is an API that allows types to indicate that they can be passed buffers of uninitialized memory which can improve performance.
2017-06-21Auto merge of #42076 - alex-ozdemir:master, r=nrcbors-133/+176
Clearer Error Message for Duplicate Definition Clearer use of the error message and span labels to communicate duplication definitions/imports. fixes #42061
2017-06-20Fixes bootstrapping with custom cargo/rustc.Mark Simulacrum-9/+9
config.mk is now always read when parsing the configuration to prevent this from reoccurring in the future, hopefully.
2017-06-20Auto merge of #42780 - frewsxcv:rollup, r=frewsxcvbors-17/+277
Rollup of 6 pull requests - Successful merges: #42271, #42717, #42728, #42749, #42756, #42772 - Failed merges:
2017-06-20Rollup merge of #42772 - MaloJaffre:libc, r=alexcrichtonCorey Farwell-0/+0
Update libc to 0.2.24 Fixes #42427.
2017-06-20Rollup merge of #42756 - sanxiyn:name-for-must-use, r=estebankCorey Farwell-11/+10
Show type name for unused_must_use lint Fix #42688.
2017-06-20Rollup merge of #42749 - frewsxcv:frewsxcxv/doc-examples, r=QuietMisdreavusCorey Farwell-0/+172
Additions/improvements for doc examples. None
2017-06-20Rollup merge of #42728 - jseyfried:fix_resolve_perf, r=nrcCorey Farwell-1/+4
resolve: fix perf bug Fixes #42544. r? @nrc
2017-06-20Rollup merge of #42717 - ollie27:into_to_from2, r=sfacklerCorey Farwell-4/+6
Convert `Into<Box<[T]>> for Vec<T>` into `From<Vec<T>> for Box<[T]>` As the `collections` crate has been merged into `alloc` in #42648 this impl is now possible. This is the final part of #42129 missing from #42227.
2017-06-20Rollup merge of #42271 - tinaun:charfromstr, r=alexcrichtonCorey Farwell-1/+85
add `FromStr` Impl for `char` fixes #24939. is it possible to use pub(restricted) instead of using a stability attribute for the internal error representation? is it needed at all?
2017-06-20Switch to the crates.io `getopts` crateAlex Crichton-277/+317
This commit deletes the in-tree `getopts` crate in favor of the crates.io-based `getopts` crate. The main difference here is with a new builder-style API, but otherwise everything else remains relatively standard.
2017-06-20mark calls in the unwind path as !noinlineAriel Ben-Yehuda-2/+7
The unwind path is always cold, so that should not have bad performance implications. This avoids catastrophic exponential inlining, and also decreases the size of librustc.so by 1.5% (OTOH, the size of `libstd.so` increased by 0.5% for some reason). Fixes #41696.
2017-06-20Add a couple doc additional examples for `env::join_paths`.Corey Farwell-0/+29
2017-06-20Add doc example for `CString::from_raw`.Corey Farwell-0/+21
2017-06-20Add doc example for `FromBytesWithNulError`.Corey Farwell-0/+8
2017-06-20Add doc example for `NulError`.Corey Farwell-0/+8
2017-06-20Add doc example for `CStr::to_str`.Corey Farwell-0/+9
2017-06-20Add doc example for `CString::as_c_str`.Corey Farwell-0/+12
2017-06-20Add doc example for `Box<CStr>::into_c_string`.Corey Farwell-0/+12
2017-06-20Add doc example for `CString::into_boxed_c_str`.Corey Farwell-0/+12
2017-06-20Add doc example for `CStr::to_string_lossy`.Corey Farwell-0/+25
2017-06-20Add error scenario doc examples for `CStr::from_bytes_with_nul`.Corey Farwell-0/+18