about summary refs log tree commit diff
path: root/src/librustc/Cargo.toml
AgeCommit message (Collapse)AuthorLines
2020-03-30rustc -> rustc_middle part 1Mazdak Farrokhzad-39/+0
2020-03-26Upgrade rustc and bootstrap dependenciesMateusz Mikuła-1/+1
2020-03-23Make librustc_query_system compile.Camille GILLOT-0/+1
2020-03-03Auto merge of #69482 - lqd:poloniusup, r=nikomatsakisbors-1/+1
Polonius: update `polonius-engine` to 0.12.0 Since @albins won't have the time to finish up #68993 for a while, I'll take care of the trivial remaining tasks (rebasing, taking care of tidy/rustfmt). I'll r? @nikomatsakis since they're assigned to #68993, but have actually [already reviewed it pre-rebase](https://github.com/rust-lang/rust/pull/68993#issuecomment-586413089). When CI passes: I'll notify bors and close #68993, since this PR supersedes it.
2020-03-02Remove chalk integrationCAD97-1/+0
2020-02-29Rename `syntax` to `rustc_ast` in source codeVadim Petrochenkov-1/+1
2020-02-29Make it build againVadim Petrochenkov-1/+1
2020-02-27- polonius: adapt to the new fact formatAlbin Stjerna-1/+1
- update polonius-engine dependency to 0.12.0 - rustfmt the files failing tidy
2020-02-16Prune rustc dependencies.Camille GILLOT-2/+0
2020-02-01remove rustc_ast_pretty dep from rustcMazdak Farrokhzad-2/+0
2020-02-01syntax::print -> new crate rustc_ast_prettyMazdak Farrokhzad-0/+2
2020-02-01Move builtin attribute logic to new rustc_attr crate.Mazdak Farrokhzad-0/+1
For now, this is all the crate contains, but more attribute logic & types will be moved there over time.
2020-01-18remove rustc_error_codes deps except in rustc_driverMazdak Farrokhzad-1/+0
2020-01-11Rollup merge of #68050 - Centril:canon-error, r=Mark-SimulacrumYuki Okushi-1/+1
Canonicalize rustc_error imports r? @Mark-Simulacrum
2020-01-10Update measureme to 0.7.1 in order to fix compilation error on big-endian ↵Michael Woerister-1/+1
platforms.
2020-01-10Initial support for recording query keys in self-profiling data.Michael Woerister-1/+1
2020-01-10self-profile: Switch to new approach for event_id generation that enables ↵Michael Woerister-0/+1
query-invocation-specific event_ids.
2020-01-10nix syntax::errors & prefer rustc_errors over errorsMazdak Farrokhzad-1/+1
2020-01-09Remove unused dependenciesShotaro Yamada-3/+0
2020-01-04move def_id to new rustc_hir crateMazdak Farrokhzad-0/+1
2020-01-01Rename `syntax_pos` to `rustc_span` in source codeVadim Petrochenkov-1/+1
2019-12-30Make things build againVadim Petrochenkov-1/+1
2019-12-09Auto merge of #67016 - lqd:placeholder_loans, r=matthewjasperbors-1/+1
In which we implement illegal subset relations errors using Polonius This PR is the rustc side of implementing subset errors using Polonius. That is, in ```rust fn foo<'a, 'b>(x: &'a u32, y: &'b u32) -> &'a u32 { y } ``` returning `y` requires that `'b: 'a` but we have no evidence of that, so this is an error. (Evidence that the relation holds could come from explicit bounds, or via implied bounds). Polonius outputs one such error per CFG point where the free region's placeholder loan unexpectedly flowed into another free region. While all these CFG locations could be useful in diagnostics in the future, rustc does not do that (and the duplication is only partially handled in the rest of the errors/diagnostics infrastructure, e.g. duplicate suggestions will be shown by the "outlives suggestions" or some of the `#[rustc_*]` NLL/MIR debug dumps), so I deduplicated the errors. (The ordering also matters, otherwise some of the elided lifetime naming would change behaviour). I've blessed a couple of tests, where the output is currently suboptimal: - the `hrtb-perfect-forwarding` tests mix subset errors with higher-ranked subtyping, however the plan is for chalk to eventually take care of some of this to generate polonius constraints (i.e. it's not polonius' job). Until that happens, polonius will not see the error that NLL sees. - some other tests have errors and diagnostics specific to `'static`, I _believe_ this to be because of it being treated as more "special" than in polonius. I believe the output is not wrong, but could be better, and appears elsewhere (I feel we'll need to look at polonius' handling of `'static` at some point in the future, maybe to match a bit more what NLL does when it produces errors) I'll create a tracking issue in the polonius repo to record these 2 points (and a general "we'll need to go over the blessed output" issue, much like we did for NLLs) The last blessed test is because it's an improvement: in this case, more errors/suggestions were computed, instead of the existing code path where this case apparently stops at the first error. The `Naive` variant in Polonius computes those errors, so this PR also switches the default variant to that, as we're also in the process of temporarily deactivating all other variants (which exist mostly for performance considerations) until we have completed more work on completeness and correctness, before focusing on efficiency once again. While most of the correctness in this PR is hidden in the polonius compare-mode (which of course passes locally), I've added a couple of smoke-tests to the existing ones, so that we have some confidence that it works (and keeps working) until we're in a position where we can run them on CI. As mentioned during yesterday's wg-polonius meeting, @nikomatsakis has already read through most of this PR (and which is matching what they thought needed to be done [during the recent Polonius sprint](https://hackmd.io/CGMNjt1hR_qYtsR9hgdGmw#Compiler-notes-on-generating-the-placeholder-loans-support)), but Matthew was hopefully going to review (again, not urgent), so: r? @matthewjasper (This updates to the latest `polonius-engine` release, and I'm not sure whether `Cargo.lock` updates can easily be rolled up, but apart from that: this changes little that's tested on CI, so seems safe-ish to rollup ?)
2019-12-08Auto merge of #66981 - michaelwoerister:measureme-0.5.0, r=Mark-Simulacrumbors-1/+1
Update measureme crate to 0.5.0 This PR updates the `measureme` self-profiling crate to the latest release. Heads up, this version changes the trace file format, so the `summarize` tool on perf.rlo needs to be updated to 0.5 too. r? @Mark-Simulacrum cc @wesleywiser
2019-12-06update to polonius 0.11 to compute subset errorslqd-1/+1
- adapt to the new polonius `FactTypes` API - reorganize the type aliases referring to polonius to avoid referencing the inner atom or fact types multiple times: only one input and output types should be enough for everyone. They could equally be in `borrow_check` as `nll` though.
2019-12-03Introduce rustc_session crateMark Rousskov-0/+1
2019-12-03Update measureme crate to 0.5.0.Michael Woerister-1/+1
2019-11-30introduce crate rustc_feature and move active, accepted, and removed to itMazdak Farrokhzad-0/+1
2019-11-16Auto merge of #66255 - ehuss:update-cc, r=alexcrichtonbors-4/+0
Update cc, git2, num_cpus. This updates the `cc` crate, bringing in better parallel building support. Also updates `git2` which enables the parallel feature. (Note: I don't expect it will have a significant impact on build time, but seems good to update anyways.) The main thorn is that `cc` gained knowledge about RISC-V architectures (https://github.com/alexcrichton/cc-rs/pull/428, https://github.com/alexcrichton/cc-rs/pull/429, https://github.com/alexcrichton/cc-rs/pull/430), but the builders on CI do not have the riscv C compiler installed. This means that bootstraps' cc detection was finding a C compiler that isn't installed, and fails. The solution here is to override the cc detection to `false`. The C compiler isn't actually used on riscv platforms. AFAIK, the only location would be compiler_builtins, and it currently forces C support off (https://github.com/rust-lang/compiler-builtins/blob/a533ae9c5aa325db209659679535fe1f186eae81/build.rs#L49-L55). Other possible solutions: - Add the override in cc_detect for riscv (or any "no-C" platform like wasm32 and nvptx) - Install and use the appropriate c compiler. I tried this the `g++-riscv64-linux-gnu` package, but it failed missing some header file. Closes #66232
2019-11-14Update to use new librustc_error_codes libraryGuillaume Gomez-0/+2
2019-11-12Move self-profile infrastructure to data structuresMark Rousskov-1/+0
The single dependency on queries (QueryName) can be fairly easily abstracted via a trait and this further decouples Session from librustc (the primary goal).
2019-11-09Update cc, git2, num_cpus.Eric Huss-4/+0
2019-11-04bump smallvec to 1.0Ralf Jung-1/+1
2019-10-29Rollup merge of #65531 - tmandry:bump-backtrace, r=cramertjMazdak Farrokhzad-1/+5
Update backtrace to 0.3.40 Diff: https://github.com/rust-lang/backtrace-rs/compare/0.3.37...b5cc5b12fa4fd03cb83546a7c62b9fff40086b63 Pretty low risk, considering the only changes are in low-tier targets. r? @cramertj cc @alexcrichton
2019-10-29Rollup merge of #65294 - varkor:lint-inline-prototype, r=matthewjasperMazdak Farrokhzad-1/+1
Lint ignored `#[inline]` on function prototypes Fixes https://github.com/rust-lang/rust/issues/51280. - Adds a `unused_attribute` lint for `#[inline]` on function prototypes. - As a consequence, foreign items, impl items and trait items now have their attributes checked, which could cause some code to no longer compile (it was previously erroneously ignored).
2019-10-28Update backtrace to 0.3.40Tyler Mandry-1/+5
2019-10-27rustc, rustc_passes: don't depend on syntax_expand.Mazdak Farrokhzad-1/+0
This is done by moving some data definitions to syntax::expand.
2019-10-25Update bitflagsvarkor-1/+1
2019-10-24self-profiling: Update measureme to 0.4.0 and use new RAII-based API.Michael Woerister-1/+1
2019-10-21Rollup merge of #62330 - SimonSapin:no-drop-in-union-fields, r=RalfJungMazdak Farrokhzad-1/+1
Change untagged_unions to not allow union fields with drop This is a rebase of #56440, massaged to solve merge conflicts and make the test suite pass. Change untagged_unions to not allow union fields with drop Union fields may now never have a type with attached destructor. This for example allows unions to use arbitrary field types only by wrapping them in `ManuallyDrop` (or similar). The stable rule remains, that union fields must be `Copy`. We use the new rule for the `untagged_union` feature. Tracking issue: https://github.com/rust-lang/rust/issues/55149
2019-10-16move syntax::ext to new crate syntax_expandMazdak Farrokhzad-0/+1
2019-10-11Change untagged_unions to not allow union fields with dropUlrik Sverdrup-1/+1
Union fields may now never have a type with attached destructor. This for example allows unions to use arbitrary field types only by wrapping them in ManuallyDrop. The stable rule remains, that union fields must be Copy. We use the new rule for the `untagged_union` feature. See RFC 2514. Note for ui tests: We can't test move out through Box's deref-move since we can't have a Box in a union anymore.
2019-10-07Rebase rustc-rayon on rayon-1.2Josh Stone-2/+2
See also https://github.com/rust-lang/rustc-rayon/pull/3
2019-09-29remove bit_set re-export from rustc_data_structurescsmoe-0/+1
2019-09-16with byteorder 1.3, the i128 feature is a NOPRalf Jung-1/+1
2019-09-16Auto merge of #64381 - mati865:rand, r=alexcrichtonbors-1/+1
Upgrade parking_lot and tempfile rustc dependencies This should be last piece to unbreak `rustc` in https://github.com/rust-lang/rust/issues/63848
2019-09-15Auto merge of #60584 - jonas-schievink:ice-panic-hook, r=oli-obkbors-1/+0
Use `panic::set_hook` to print the ICE message This allows custom frontends and backends to override the hook with their own, for example to point people to a different issue tracker. ICE messages are printed in a slightly different order now. Nightly prints: ``` thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', src/libcore/option.rs:347:21 note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace. error: aborting due to 2 previous errors Some errors have detailed explanations: E0277, E0658. For more information about an error, try `rustc --explain E0277`. error: internal compiler error: unexpected panic note: the compiler unexpectedly panicked. this is a bug. note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports note: rustc 1.36.0-nightly (08bfe1612 2019-05-02) running on x86_64-unknown-linux-gnu ``` After this PR, rustc prints: ``` thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', src/libcore/option.rs:347:21 note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace. error: internal compiler error: unexpected panic note: the compiler unexpectedly panicked. this is a bug. note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports note: rustc 1.36.0-dev running on x86_64-unknown-linux-gnu error: aborting due to 2 previous errors Some errors have detailed explanations: E0277, E0658. For more information about an error, try `rustc --explain E0277`. ```
2019-09-11Upgrade parking_lot and tempfile rustc dependenciesMateusz Mikuła-1/+1
2019-09-04NLL: New Polonius versionAlbin Stjerna-1/+1
2019-08-30Move librustc panic handler into the new oneJonas Schievink-1/+0