about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2020-07-15Rollup merge of #74353 - pierwill:pierwill-edit-dep-node, r=jonas-schievinkManish Goregaokar-6/+8
Edit docs for rustc_middle::dep_graph::dep_node Fixes some missing punctuation, and adds a blank line for a more concise summary.
2020-07-15Rollup merge of #74347 - jyn514:ive-got-a-small-query-for-you, r=eddybManish Goregaokar-10/+16
Initialize default providers only once This avoids copying a new `Providers` struct for each downstream crate that wants to use it. Follow-up to https://github.com/rust-lang/rust/pull/74283 without the perf hit. r? @eddyb
2020-07-15Rollup merge of #74344 - estebank:stringly-wobbly, r=eddybManish Goregaokar-7/+13
Remove string comparison and use diagnostic item instead r? @eddyb
2020-07-15Rollup merge of #74337 - estebank:ty-parse-recovery, r=varkorManish Goregaokar-55/+20
Handle case of incomplete local ty more gracefully When encountering a local binding with a type that isn't completed, the parser will reach a `=` token. When this happen, consider the type "complete" as far as the parser is concerned to avoid further errors being emitted by parse recovery logic.
2020-07-15Rollup merge of #74294 - msirringhaus:master, r=pietroalbiniManish Goregaokar-8/+31
Update cross-compilation README README seemed rather out of date. I hope the information in my PR is now correct (it was more or less assembled by asking in zulip and learning-by-doing).
2020-07-15Rollup merge of #74291 - regexident:from-docs, r=GuillaumeGomezManish Goregaokar-0/+4
Added docs for `From<c_int>` for `ExitStatus` Partially addresses https://github.com/rust-lang/rust/issues/51430
2020-07-15Rollup merge of #74276 - lcnr:discriminant-kind-what, r=nagisaManish Goregaokar-17/+12
improve DiscriminantKind handling Adds a lang item `discriminant_type` for the associated type `DiscriminantKind::Discriminant`. Changes the discriminant of generators from `i32` to `u32`, which should not be observable to fix an oversight where MIR was using `u32` and codegen and typeck used `i32`.
2020-07-15Rollup merge of #74218 - GuillaumeGomez:search-results-bottom-margin, ↵Manish Goregaokar-0/+1
r=Dylan-DPC Add margin after doc search results I found it not really on computer that the last result is right at the bottom of the page. I find it better with margin below (especially when you hover the last element!). A screenshot to show the result: ![Screenshot from 2020-07-10 16-32-23](https://user-images.githubusercontent.com/3050060/87166097-6103a580-c2cb-11ea-81a8-12772cf20f64.png) r? @kinnison cc @rust-lang/rustdoc @Manishearth @jyn514
2020-07-15Rollup merge of #74196 - GuillaumeGomez:auto-collapse-implementors, ↵Manish Goregaokar-4/+11
r=Manishearth Add option to collapse automatically implementors Fixes #73403 It adds an option (enabled by default) which collapses all implementors impl blocks. r? @kinnison cc @rust-lang/rustdoc
2020-07-15Rollup merge of #74119 - nnethercote:rm-Compiler-compile, r=Mark-SimulacrumManish Goregaokar-34/+0
Remove `Compiler::compile()`. It's unused. r? @Mark-Simulacrum
2020-07-15Rollup merge of #73959 - GuillaumeGomez:cleanup-e0716, r=Dylan-DPCManish Goregaokar-30/+25
Clean up E0716 explanation r? @Dylan-DPC
2020-07-15Rollup merge of #73918 - GuillaumeGomez:cleanup-e0715, r=Dylan-DPCManish Goregaokar-2/+1
Clean up E0715 explanation r? @Dylan-DPC
2020-07-15Rollup merge of #72973 - msizanoen1:riscv-host, r=pietroalbiniManish Goregaokar-25/+66
RISC-V GNU/Linux as host platform This PR add a new builder named `dist-riscv64-linux` that builds the compiler toolchain for RISC-V 64-bit GNU/Linux. r? @alexcrichton
2020-07-15s/try_to_usize/try_to_machine_usize/Oliver Scherer-4/+4
2020-07-15Reduce the amount of interning and `layout_of` calls in const eval.Oliver Scherer-17/+70
2020-07-15ci: Update dist-{i686,x86_64}-linux to Debian 6Josh Stone-98/+101
This increases the minimum `{i686,x86_64}-unknown-linux-gnu` platform from RHEL/CentOS 5 (glibc 2.5 and kernel 2.6.18) to a slightly newer Debian 6 `squeeze` (glibc 2.11 and kernel 2.6.32). While that release is already EOL, it happens to match the minimum common versions of two enterprise distros that do still need Rust support -- RHEL 6 (glibc 2.12 and kernel 2.6.32) and SLES 11 SP4 (glibc 2.11 and kernel 3.0).
2020-07-15Simplify os_str_bytes cfg expression.Eric Huss-8/+3
2020-07-15Use an allow-list of platforms that support std.Eric Huss-20/+62
Use a fall-through for no_std targets.
2020-07-15Tweak formatting.Eric Huss-1/+2
2020-07-15Introduce restricted-std feature.Eric Huss-109/+266
2020-07-15Improve ayu rustdoc themeLudwig Stecher-9/+11
* It makes some lines darker * It gives the crate selector and search bar a border * The search bar's border turns blue when focused * Gives the logo a bright shadow. This makes dark logos stand out more
2020-07-15Don't panic if the lhs of a div by zero is not statically knownOliver Scherer-9/+42
2020-07-15Improve settings wordingGuillaume Gomez-2/+2
2020-07-15Use cfg_if in libpanic_abort.Eric Huss-16/+19
This allows setting a default abort using the core intrinsic.
2020-07-15Use cfg_if in libtest.Eric Huss-131/+97
Simplifies some of the expressions, and provides a default.
2020-07-15Automatically calculate std::env::consts::ARCH.Eric Huss-76/+2
This simplifies the definition for ARCH. Note that this changes asmjs-unknown-emscripten ARCH to `wasm32`, which reflects the actual target arch.
2020-07-15Use the default providers in rustc_interface instead of adding our ownJoshua Nelson-8/+2
This avoids duplicating the same struct twice.
2020-07-15Catch errors for any new item, not just trait implementationsJoshua Nelson-6/+12
This matches the previous behavior of everybody_loops and is also more consistent than special-casing impls.
2020-07-15Address review commentsJoshua Nelson-19/+22
- Move static variables into the innermost scope in which they are used - Clean up comments - Remove external_providers; rename local_providers -> providers
2020-07-15EMPTY_MAP -> EMPTY_SETJoshua Nelson-4/+4
2020-07-15Fix commentJoshua Nelson-1/+1
2020-07-15Use mem::replace instead of rewriting itJoshua Nelson-4/+2
2020-07-15Don't ICE on infinitely recursive typesJoshua Nelson-0/+39
`evaluate_obligation` can only be run on types that are already valid. So rustdoc still has to run typeck even though it doesn't care about the result.
2020-07-15--blessJoshua Nelson-6/+18
2020-07-15Remove unnecessary lifetime parameterJoshua Nelson-6/+6
TyCtxt is a reference type and so can be passed by value.
2020-07-15Use tcx as the only context for visitorJoshua Nelson-12/+11
Previously two different parts of the context had to be passed separately; there were two sources of truth.
2020-07-15Mention `cargo check` in help messageJoshua Nelson-1/+1
2020-07-15Don't crash on Vec<DoesNotExist>Joshua Nelson-3/+13
2020-07-15Address review comments about code styleJoshua Nelson-14/+10
2020-07-15Avoid unnecessary enumJoshua Nelson-48/+20
Just use a boolean instead.
2020-07-15Don't make typeck_tables_of publicJoshua Nelson-7/+3
2020-07-15Add test case for #65863Joshua Nelson-0/+15
2020-07-15Recurse into function bodies, but don't typeck closuresJoshua Nelson-76/+145
Previously, rustdoc would issue a delay_span_bug ICE on the following code: ```rust pub fn a() -> impl Fn() -> u32 { || content::doesnt::matter() } ``` This wasn't picked up earlier because having `type Alias = impl Trait;` in the same module caused _all closures_ to be typechecked, even if they wouldn't normally. Additionally, if _any_ error was emitted, no delay_span_bug would be emitted. So as part of this commit all of the tests were separated out into different files.
2020-07-15Don't ICE on errors in function returning impl traitJoshua Nelson-2/+162
Instead, report the error. This emits the errors on-demand, without special-casing `impl Trait`, so it should catch all ICEs of this kind, including ones that haven't been found yet. Since the error is emitted during type-checking there is less info about the error; see comments in the code for details. - Add test case for -> impl Trait - Add test for impl trait with alias - Move EmitIgnoredResolutionErrors to rustdoc This makes `fn typeck_item_bodies` public, which is not desired behavior. That change should be removed once https://github.com/rust-lang/rust/pull/74070 is merged. - Don't visit nested closures twice
2020-07-15Add `rustdoc` tests from #72088Dylan MacKenzie-0/+16
2020-07-15Add an option not to report resolution errors for rustdocJoshua Nelson-39/+201
- Remove unnecessary `should_loop` variable - Report errors for trait implementations These should give resolution errors because they are visible outside the current scope. Without these errors, rustdoc will give ICEs: ``` thread 'rustc' panicked at 'attempted .def_id() on invalid res: Err', /home/joshua/src/rust/src/libstd/macros.rs:16:9 15: rustc_hir::def::Res<Id>::def_id at /home/joshua/src/rust/src/librustc_hir/def.rs:382 16: rustdoc::clean::utils::register_res at src/librustdoc/clean/utils.rs:627 17: rustdoc::clean::utils::resolve_type at src/librustdoc/clean/utils.rs:587 ``` - Add much more extensive tests + fn -> impl -> fn + fn -> impl -> fn -> macro + errors in function parameters + errors in trait bounds + errors in the type implementing the trait + unknown bounds for the type + unknown types in function bodies + errors generated by macros - Use explicit state instead of trying to reconstruct it from random info - Use an enum instead of a boolean - Add example of ignored error
2020-07-15Don't run analysis pass in rustdocJoshua Nelson-6/+7
- Explicitly check for missing docs - Don't run any lints except those we explicitly specified
2020-07-15Don't run everybody_loops for rustdocJoshua Nelson-29/+50
Instead, ignore resolution errors that occur in item bodies. The reason this can't ignore item bodies altogether is because `const fn` could be used in generic types, for example `[T; f()]`
2020-07-15Initialize default providers only onceJoshua Nelson-10/+16
This avoids copying a new `Providers` struct for each downstream crate that wants to use it.
2020-07-15add lazy normalization regression testsBastian Kauschke-0/+36