summary refs log tree commit diff
path: root/src/Cargo.lock
AgeCommit message (Collapse)AuthorLines
2018-02-11Use time crate in bootstrap dist instead of dateOnur Aslan-0/+34
2018-01-10Try to fix a perf regression by updating logMalo Jaffré-18/+18
Upgrade `log` to `0.4` in multiple crates.
2018-01-01Update crates and submodules to pull doc fixesMalo Jaffré-78/+78
Update `rand` crate to `0.3.19`. Update `log` crate to `0.3.9` and `0.4.1`. Update `parking_lot_core` crate to `0.2.9`. Upgrade all flate2 dependencies to `1.0.1`. - Update `rust-installer` submodule.
2017-12-31Update cargoFelix Schütt-2/+12
2017-12-29Update rustfmt to 0.3.4Igor Matuszewski-38/+1
2017-12-28Update RLSIgor Matuszewski-19/+17
2017-12-27cargo update and add miri as the rustc workspace member.kennytm-57/+106
2017-12-24Update Cargo and its dependenciesAlex Crichton-105/+142
Just a routine update!
2017-12-21Mir: Abort on nounwind ABIsDavid Henningsson-0/+1
Generate Abort instead of Resume terminators on nounwind ABIs. https://github.com/rust-lang/rust/issues/18510 Signed-off-by: David Henningsson <diwic@ubuntu.com>
2017-12-18Update lockfileMaik Klein-0/+2
2017-12-17Add sync module to rustc_data_structuresJohn Kåre Alsaker-5/+33
2017-12-15save-analysis: add parents to importsAndy Russell-1/+11
2017-12-15Update the rls and rustfmt submodulesOliver Schneider-15/+28
2017-12-14When attempting to write str with single quote suggest double quotesEsteban Küber-0/+1
2017-12-14Support regexes in custom normalization in UI testsVadim Petrochenkov-0/+1
2017-12-14Move mir validation out of treeOliver Schneider-9/+0
2017-12-12Move large chunks of miri from rustc::mir::interpret to rustc_mir::interpretOliver Schneider-2/+11
2017-12-06Merge remote-tracking branch 'origin/master' into miriOliver Schneider-152/+151
2017-12-06Update miri to rustc changesOliver Schneider-464/+674
2017-12-06Update CargoNick Cameron-66/+4
2017-12-06Update rls and rustfmtNick Cameron-146/+208
2017-12-05Auto merge of #46503 - Aaron1011:librustdoc_log, r=Mark-Simulacrumbors-1/+0
Remove librustdoc dependency on log This change should have been included in PR #46386. Since librustdoc doesn't explicitly depend on internal crates (such as librustc_driver) through its Cargo.toml, it ends up using the sysroot to resolve them. By removing the dependency on 'log', we ensure that the syroot is used to resolve `log` as well. This ensures that only one version of log is in use, so that `env_logger::init()` enables all uses of `log!` macros.
2017-12-04Remove librustdoc dependency on logAaron Hill-1/+0
This change should have been included in PR #46386. Since librustdoc doesn't explicitly depend on internal crates (such as librustc_driver) through its Cargo.toml, it ends up using the sysroot to resolve them. By removing the dependency on 'log', we ensure that the syroot is used to resolve `log` as well. This ensures that only one version of log is in use, so that `env_logger::init()` enables all uses of `log!` macros.
2017-12-04rustc_back: replace tempdir with crates.io version.Irina-Gabriela Popa-0/+2
2017-12-04rustc_back: move dynamic_lib to rustc_metadata.Irina-Gabriela Popa-1/+0
2017-12-04rustc_back: remove slice module in favor of std::slice::from_ref.Irina-Gabriela Popa-3/+0
2017-12-02Auto merge of #46288 - alexcrichton:bump-bootstrap, r=Mark-Simulacrumbors-57/+57
Bump to 1.24.0 * Update the in-tree version number * Update the bootstrap compiler * Remove `cfg(stage0)` annotations * Update crate dependencies * Update Cargo itself
2017-12-02Rollup merge of #46386 - Aaron1011:fix_rustdoc_log, r=Mark-Simulacrumkennytm-1/+0
Remove librustdoc dependency on env_logger We want librustdoc to pickup the env_logger dependency from the sysroot. This ensures that the same copy of env_logger is used for both internal crates (e.g. librustc_driver, libsyntax) and librustdoc Closes #46383
2017-11-30Reenable clippyOliver Schneider-3/+3
2017-11-29Update bootstrap compilerAlex Crichton-57/+57
Also remove a number of `stage0` annotations and such
2017-11-29Remove librustdoc dependency on env_loggerAaron Hill-1/+0
We want librustdoc to pickup the env_logger dependency from the sysroot. This ensures that the same copy of env_logger is used for both internal crates (e.g. librustc_driver, libsyntax) and librustdoc Closes #46383
2017-11-29Update Rustfmt againNick Cameron-0/+14
2017-11-29Rebased Cargo.lockNick Cameron-54/+100
2017-11-26update Cargo.lock & rustdocAriel Ben-Yehuda-112/+112
This is required because the old version depended on tendril 0.3.1, which used `repr(packed)` incorrectly - see https://github.com/kuchiki-rs/kuchiki/pull/38
2017-11-23Auto merge of #46011 - euclio:reachability-redux, r=nrcbors-1/+11
Allow filtering analysis by reachability Fixes #43521. Fixes https://github.com/nrc/rls-analysis/issues/79. This PR allows a user to filter items present in the save-analysis data by setting the `reachable_only` config option. This option is intended for use by the new rustdoc. The PR isn't quite finished, because it's dependent on a new release of rls-data, but I want to make sure that the approach is valid. https://github.com/nrc/rls-analysis/issues/79 mentions that `pub use` might need to be handled, but my thinking is that the consumer of the analysis data would be able to infer which imports are `pub use`, and which items are only reachable through `pub use`, so that doesn't need to be handled here. r? @nrc
2017-11-20Auto merge of #45905 - alexcrichton:add-wasm-target, r=aturonbors-3/+19
std: Add a new wasm32-unknown-unknown target This commit adds a new target to the compiler: wasm32-unknown-unknown. This target is a reimagining of what it looks like to generate WebAssembly code from Rust. Instead of using Emscripten which can bring with it a weighty runtime this instead is a target which uses only the LLVM backend for WebAssembly and a "custom linker" for now which will hopefully one day be direct calls to lld. Notable features of this target include: * There is zero runtime footprint. The target assumes nothing exists other than the wasm32 instruction set. * There is zero toolchain footprint beyond adding the target. No custom linker is needed, rustc contains everything. * Very small wasm modules can be generated directly from Rust code using this target. * Most of the standard library is stubbed out to return an error, but anything related to allocation works (aka `HashMap`, `Vec`, etc). * Naturally, any `#[no_std]` crate should be 100% compatible with this new target. This target is currently somewhat janky due to how linking works. The "linking" is currently unconditional whole program LTO (aka LLVM is being used as a linker). Naturally that means compiling programs is pretty slow! Eventually though this target should have a linker. This target is also intended to be quite experimental. I'm hoping that this can act as a catalyst for further experimentation in Rust with WebAssembly. Breaking changes are very likely to land to this target, so it's not recommended to rely on it in any critical capacity yet. We'll let you know when it's "production ready". ### Building yourself First you'll need to configure the build of LLVM and enable this target ``` $ ./configure --target=wasm32-unknown-unknown --set llvm.experimental-targets=WebAssembly ``` Next you'll want to remove any previously compiled LLVM as it needs to be rebuilt with WebAssembly support. You can do that with: ``` $ rm -rf build ``` And then you're good to go! A `./x.py build` should give you a rustc with the appropriate libstd target. ### Test support Currently testing-wise this target is looking pretty good but isn't complete. I've got almost the entire `run-pass` test suite working with this target (lots of tests ignored, but many passing as well). The `core` test suite is [still getting LLVM bugs fixed](https://reviews.llvm.org/D39866) to get that working and will take some time. Relatively simple programs all seem to work though! In general I've only tested this with a local fork that makes use of LLVM 5 rather than our current LLVM 4 on master. The LLVM 4 WebAssembly backend AFAIK isn't broken per se but is likely missing bug fixes available on LLVM 5. I'm hoping though that we can decouple the LLVM 5 upgrade and adding this wasm target! ### But the modules generated are huge! It's worth nothing that you may not immediately see the "smallest possible wasm module" for the input you feed to rustc. For various reasons it's very difficult to get rid of the final "bloat" in vanilla rustc (again, a real linker should fix all this). For now what you'll have to do is: cargo install --git https://github.com/alexcrichton/wasm-gc wasm-gc foo.wasm bar.wasm And then `bar.wasm` should be the smallest we can get it! --- In any case for now I'd love feedback on this, particularly on the various integration points if you've got better ideas of how to approach them!
2017-11-19std: Add a new wasm32-unknown-unknown targetAlex Crichton-3/+19
This commit adds a new target to the compiler: wasm32-unknown-unknown. This target is a reimagining of what it looks like to generate WebAssembly code from Rust. Instead of using Emscripten which can bring with it a weighty runtime this instead is a target which uses only the LLVM backend for WebAssembly and a "custom linker" for now which will hopefully one day be direct calls to lld. Notable features of this target include: * There is zero runtime footprint. The target assumes nothing exists other than the wasm32 instruction set. * There is zero toolchain footprint beyond adding the target. No custom linker is needed, rustc contains everything. * Very small wasm modules can be generated directly from Rust code using this target. * Most of the standard library is stubbed out to return an error, but anything related to allocation works (aka `HashMap`, `Vec`, etc). * Naturally, any `#[no_std]` crate should be 100% compatible with this new target. This target is currently somewhat janky due to how linking works. The "linking" is currently unconditional whole program LTO (aka LLVM is being used as a linker). Naturally that means compiling programs is pretty slow! Eventually though this target should have a linker. This target is also intended to be quite experimental. I'm hoping that this can act as a catalyst for further experimentation in Rust with WebAssembly. Breaking changes are very likely to land to this target, so it's not recommended to rely on it in any critical capacity yet. We'll let you know when it's "production ready". --- Currently testing-wise this target is looking pretty good but isn't complete. I've got almost the entire `run-pass` test suite working with this target (lots of tests ignored, but many passing as well). The `core` test suite is still getting LLVM bugs fixed to get that working and will take some time. Relatively simple programs all seem to work though! --- It's worth nothing that you may not immediately see the "smallest possible wasm module" for the input you feed to rustc. For various reasons it's very difficult to get rid of the final "bloat" in vanilla rustc (again, a real linker should fix all this). For now what you'll have to do is: cargo install --git https://github.com/alexcrichton/wasm-gc wasm-gc foo.wasm bar.wasm And then `bar.wasm` should be the smallest we can get it! --- In any case for now I'd love feedback on this, particularly on the various integration points if you've got better ideas of how to approach them!
2017-11-19upgrade rls-dataAndy Russell-1/+11
2017-11-17update openssl{,-sys} to fix build with libressl 2.6.xMarc-Antoine Perennou-11/+11
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2017-11-15Reenable clippy testingOliver Schneider-6/+10
2017-11-12Auto merge of #45902 - nrc:component-update, r=alexcrichtonbors-188/+179
Update RLS and Rustfmt r? @alexcrichton
2017-11-10Rollup merge of #45783 - kennytm:compiler-test-fixes, r=alexcrichtonkennytm-0/+2
Miscellaneous changes for CI, Docker and compiletest. This PR contains 7 independent commits that improves interaction with CI, Docker and compiletest. 1. a4e5c91cb8 — Forces a newline every 100 dots when testing in quiet mode. Prevents spurious timeouts when abusing the CI to test Android jobs. 2. 1b5aaf22e8 — Use vault.centos.org for dist-powerpc64le-linux, see #45744. 3. 33400fbbcd — Modify `src/ci/docker/run.sh` so that the docker images can be run from Docker Toolbox for Windows on Windows 7. I haven't checked the behavior of the newer Docker for Windows on Windows 10. Also, "can run" does not mean all the test can pass successfully (the UDP tests failed last time I checked) 4. d517668a08 — Don't emit a real warning the linker segfault, which affects UI tests like https://github.com/rust-lang/rust/pull/45489#issuecomment-340134944. Log it instead. 5. 51e2247948 — During run-pass, trim the output if stdout/stderr exceeds 416 KB (top 160 KB + bottom 256 KB). This is an attempt to avoid spurious failures like https://github.com/rust-lang/rust/pull/45384#issuecomment-341755788 6. 9cfdabaf3c — Force `gem update --system` before deploy. This is an attempt to prevent spurious error #44159. 7. eee10cc482 — Tries to print the crash log on macOS on failure. This is an attempt to debug #45230.
2017-11-10Update RLS submoduleNick Cameron-14/+8
2017-11-10Update rustfmt submoduleNick Cameron-174/+171
2017-11-08std: Remove `rand` crate and moduleAlex Crichton-9/+5
This commit removes the `rand` crate from the standard library facade as well as the `__rand` module in the standard library. Neither of these were used in any meaningful way in the standard library itself. The only need for randomness in libstd is to initialize the thread-local keys of a `HashMap`, and that unconditionally used `OsRng` defined in the standard library anyway. The cruft of the `rand` crate and the extra `rand` support in the standard library makes libstd slightly more difficult to port to new platforms, namely WebAssembly which doesn't have any randomness at all (without interfacing with JS). The purpose of this commit is to clarify and streamline randomness in libstd, focusing on how it's only required in one location, hashmap seeds. Note that the `rand` crate out of tree has almost always been a drop-in replacement for the `rand` crate in-tree, so any usage (accidental or purposeful) of the crate in-tree should switch to the `rand` crate on crates.io. This then also has the further benefit of avoiding duplication (mostly) between the two crates!
2017-11-07Saturating casts between integers and floats (both directions).Robin Kruppe-0/+1
This affects regular code generation as well as constant evaluation in trans, but not the HIR constant evaluator because that one returns an error for overflowing casts and NaN-to-int casts. That error is conservatively correct and we should be careful to not accept more code in constant expressions. The changes to code generation are guarded by a new -Z flag, to be able to evaluate the performance impact. The trans constant evaluation changes are unconditional because they have no run time impact and don't affect type checking either.
2017-11-06tools: Fix rustfmt and the RLSDustin Speckhals-6/+6
These tools have been corrected in their upstream repo's, and the submodules have been updated here to reflect that. I also had to update Cargo to match what the RLS is expecting. The tool states for `rustfmt` and `rls` where both changed from "Broken" to "Testing" in this commit, thus enabling testing and distribution again.
2017-11-05Auto merge of #45770 - spastorino:newtype_index, r=nikomatsakisbors-0/+1
Make last structs indexes definitions use newtype_index macro This PR makes the last two index structs not using newtype_index macro to use it and also fixes this https://github.com/rust-lang/rust/issues/45763 issue.
2017-11-06Abbreviate some stdout/stderr output in compiletest.kennytm-0/+2
This is intended to prevent the spurious OOM error from run-pass/rustc-rust-log.rs, by skipping the output in the middle when the size is over 416 KB, so that the log output will not be overwhelmed.
2017-11-04Auto merge of #45711 - tirr-c:unicode-span, r=estebankbors-0/+1
Display spans correctly when there are zero-width or wide characters Hopefully... * fixes #45211 * fixes #8706 --- Before: ``` error: invalid width `7` for integer literal --> unicode_2.rs:12:25 | 12 | let _ = ("a̐éö̲", 0u7); | ^^^ | = help: valid widths are 8, 16, 32, 64 and 128 error: invalid width `42` for integer literal --> unicode_2.rs:13:20 | 13 | let _ = ("아あ", 1i42); | ^^^^ | = help: valid widths are 8, 16, 32, 64 and 128 error: aborting due to 2 previous errors ``` After: ``` error: invalid width `7` for integer literal --> unicode_2.rs:12:25 | 12 | let _ = ("a̐éö̲", 0u7); | ^^^ | = help: valid widths are 8, 16, 32, 64 and 128 error: invalid width `42` for integer literal --> unicode_2.rs:13:20 | 13 | let _ = ("아あ", 1i42); | ^^^^ | = help: valid widths are 8, 16, 32, 64 and 128 error: aborting due to 2 previous errors ``` Spans might display incorrectly on the browser. r? @estebank