summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add Debug implementation for hir::intravisit::FnKinddebug-intravisit-fnkindGuillaume Gomez2021-04-071-1/+1
|
* Auto merge of #83833 - jyn514:no-resolver, r=GuillaumeGomezbors2021-04-074-82/+82
|\ | | | | | | | | | | | | | | | | | | rustdoc: Store intra-doc links in Cache instead of on items directly Items are first built after rustdoc creates the TyCtxt. To allow resolving the links before the TyCtxt is built, the links can't be stored on `clean::Item` directly. Helps with https://github.com/rust-lang/rust/issues/83761. Opening this early because I think it might decrease memory usage.
| * Store links in Cache instead of on items directlyJoshua Nelson2021-04-064-82/+82
| | | | | | | | | | | | Items are first built after rustdoc creates the TyCtxt. To allow resolving the links before the TyCtxt is built, the links can't be stored on `clean::Item` directly.
* | Auto merge of #83955 - ehuss:update-stage0, r=Mark-Simulacrumbors2021-04-072-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | Bump bootstrap compiler Pulls in #83946 Closes #83914
| * | Bump bootstrap compilerEric Huss2021-04-062-2/+2
| | |
* | | Auto merge of #83828 - camelid:rustdoc-vec-perf, r=jyn514bors2021-04-061-3/+5
|\ \ \ | |/ / |/| | | | | | | | | | | | | | rustdoc: Use `ThinVec` in a few places Almost every crate has no primitives and no keywords defined in it, so using `ThinVec` should make some types smaller.
| * | rustdoc: Use `ThinVec` in a few placesCamelid2021-04-061-3/+5
| | | | | | | | | | | | | | | Almost every crate has no primitives and no keywords defined in it, so using `ThinVec` should make some types smaller.
* | | Auto merge of #83934 - Dylan-DPC:rollup-nw5dadn, r=Dylan-DPCbors2021-04-0638-146/+135
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rollup of 7 pull requests Successful merges: - #82963 (Move `SharedContext` to `context.rs`) - #83829 (rustc_target: Rely on defaults more in target specs) - #83895 (Add listing of lints (eg via `-W help`) to rustdoc) - #83902 (Update LLVM to support more wasm simd ops) - #83903 (Fix typo in TokenStream documentation) - #83910 (Update cargo) - #83920 (Fix HashMap/HashSet LLDB pretty-printer after hashbrown 0.11.0) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
| * | Rollup merge of #83920 - ortem:fix-hashmap-lldb-pretty-printer-1.52, r=pnkfelixDylan DPC2021-04-061-6/+8
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix HashMap/HashSet LLDB pretty-printer after hashbrown 0.11.0 The pretty-printer was broken in https://github.com/rust-lang/rust/pull/77566 after updating hashbrown to 0.11.0. Note that the corresponding GDB pretty-printer was updated properly. Fixes #83891
| | * | Fix HashMap/HashSet LLDB pretty-printer after hashbrown 0.11.0ortem2021-04-061-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | The pretty-printer was broken in https://github.com/rust-lang/rust/pull/77566 after updating hashbrown to 0.11.0. Note that the corresponding GDB pretty-printer was updated properly.
| * | | Rollup merge of #83910 - ehuss:update-cargo, r=ehussDylan DPC2021-04-061-0/+0
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update cargo 3 commits in 3c44c3c4b7900b8b13c85ead25ccaa8abb7d8989..65d57e6f384c2317f76626eac116f683e2b63665 2021-03-31 21:21:15 +0000 to 2021-04-04 15:07:52 +0000 - Fix typo in contrib docs. (rust-lang/cargo#9328) - fix clippy warnings (rust-lang/cargo#9323) - Add -Zallow-features to match rustc's -Z (rust-lang/cargo#9283)
| | * | | Update cargoEric Huss2021-04-051-0/+0
| | | | |
| * | | | Rollup merge of #83903 - rust-lang:GuillaumeGomez-patch-1, r=lcnrDylan DPC2021-04-061-1/+1
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Fix typo in TokenStream documentation
| | * | | | Fix typo in TokenStream documentationGuillaume Gomez2021-04-051-1/+1
| | | |/ / | | |/| |
| * | | | Rollup merge of #83902 - alexcrichton:update-llvm, r=nikicDylan DPC2021-04-061-0/+0
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update LLVM to support more wasm simd ops Adds a commit with support for i64 simd comparisons for the wasm target
| | * | | | Update LLVM to support more wasm simd opsAlex Crichton2021-04-051-0/+0
| | |/ / / | | | | | | | | | | | | | | | Adds a commit with support for i64 simd comparisons for the wasm target
| * | | | Rollup merge of #83895 - eggyal:issue-83883, r=jyn514Dylan DPC2021-04-065-4/+43
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add listing of lints (eg via `-W help`) to rustdoc Fixes #83883 r? `@jyn514`
| | * | | | Add listing of lints (eg via -W help) to rustdocAlan Egerton2021-04-065-4/+43
| | | | | |
| * | | | | Rollup merge of #83829 - petrochenkov:minclean, r=nagisaDylan DPC2021-04-0627-52/+6
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | rustc_target: Rely on defaults more in target specs
| | * | | | | rustc_target: Rely on defaults more in target specsVadim Petrochenkov2021-04-0527-52/+6
| | | |/ / / | | |/| | |
| * | | | | Rollup merge of #82963 - camelid:move-sharedcontext, r=GuillaumeGomezDylan DPC2021-04-062-83/+77
| |\ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move `SharedContext` to `context.rs` It is tightly connected to `Context` and is primarily used as a field in `Context`. Thus, it should be next to `Context`.
| | * | | | Move `SharedContext` to `context.rs`Camelid2021-04-052-83/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is tightly connected to `Context` and is primarily used as a field in `Context`. Thus, it should be next to `Context`.
* | | | | | Auto merge of #83875 - jyn514:diag_info, r=bugadanibors2021-04-063-129/+67
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rustdoc: Use DiagnosticInfo in more parts of intra-doc links This makes the code a lot less verbose. This is separated into lots of tiny commits because it was easier for me that way, but the overall diff isn't that big if you want to read it at once. r? `@bugadani`
| * | | | | Use DiagnosticInfo for `report_diagnostic`Joshua Nelson2021-04-051-39/+29
| | | | | |
| * | | | | Take DiagnosticInfo in privacy_errorJoshua Nelson2021-04-051-3/+7
| | | | | |
| * | | | | Take `DiagnosticInfo` in `ambiguity_error`Joshua Nelson2021-04-051-12/+3
| | | | | |
| * | | | | Take DiagnosticInfo in disambiguator_errorJoshua Nelson2021-04-051-3/+2
| | | | | |
| * | | | | Rename link_range -> disambiguator_range in disambiguator_errorJoshua Nelson2021-04-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | It's not the range of the full link, it's only a partial range.
| * | | | | Take `DiagnosticInfo` in `resolution_failure`Joshua Nelson2021-04-051-30/+6
| | | | | |
| * | | | | Use DiagnosticInfo for anchor failureJoshua Nelson2021-04-053-52/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gets rid of a lot of parameters, as well as fixing a diagnostic bug.
| * | | | | Rename path_str -> ori_link in anchor_failureJoshua Nelson2021-04-051-3/+3
| | |/ / / | |/| | | | | | | | | | | | | | | | | | ori_link contains anchors, path_str does not. It's important that anchor_failure be passed a link with the anchors still present.
* | | | | Auto merge of #83922 - RalfJung:miri, r=RalfJungbors2021-04-062-52/+60
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | update Miri Also updates the lockfile, since Miri updated some dependencies. Cc `@rust-lang/miri` r? `@ghost`
| * | | | | update MiriRalf Jung2021-04-062-52/+60
| | | | | |
* | | | | | Auto merge of #83821 - camelid:improve-thinvec, r=petrochenkovbors2021-04-062-0/+91
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add `FromIterator` and `IntoIterator` impls for `ThinVec` These should make using `ThinVec` feel much more like using `Vec`. They will allow users of `Vec` to switch to `ThinVec` while continuing to use `collect()`, `for` loops, and other parts of the iterator API. I don't know if there were use cases before for using the iterator API with `ThinVec`, but I would like to start using `ThinVec` in rustdoc, and having it conform to the iterator API would make the transition *a lot* easier. I added a `FromIterator` impl, an `IntoIterator` impl that yields owned elements, and `IntoIterator` impls that yield immutable or mutable references to elements. I also added some unit tests for `ThinVec`.
| * | | | | | Add `FromIterator` and `IntoIterator` impls for `ThinVec`Camelid2021-04-052-0/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These should make using `ThinVec` feel much more like using `Vec`. They will allow users of `Vec` to switch to `ThinVec` while continuing to use `collect()`, `for` loops, and other parts of the iterator API. I don't know if there were use cases before for using the iterator API with `ThinVec`, but I would like to start using `ThinVec` in rustdoc, and having it conform to the iterator API would make the transition *a lot* easier. I added a `FromIterator` impl, an `IntoIterator` impl that yields owned elements, and `IntoIterator` impls that yield immutable or mutable references to elements. I also added some unit tests for `ThinVec`.
* | | | | | | Auto merge of #81641 - bjorn3:find_codegen_backend, r=davidtwcobors2021-04-062-10/+19
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Find codegen backends in more locations * Search in the sysroot passed using `--sysroot` in addition to the default sysroot. * Search for `librustc_codegen_$name.so` in addition to `librustc_codegen_$name-$release.so`. This combined would allow putting `librustc_codegen_cranelift.so` in the right location of a sysroot passed using `--sysroot`.
| * | | | | | Find codegen backends in more locationsbjorn32021-02-012-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Search in the sysroot passed using `--sysroot` in addition to the default sysroot. * Search for `librustc_codegen_$name.so` in addition to `librustc_codegen_$name-$release.so`.
* | | | | | | Auto merge of #81234 - repnop:fn-alignment, r=lcnrbors2021-04-0618-83/+137
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow specifying alignment for functions Fixes #75072 This allows the user to specify alignment for functions, which can be useful for low level work where functions need to necessarily be aligned to a specific value. I believe the error cases not covered in the match are caught earlier based on my testing so I had them just return `None`.
| * | | | | | | Allow specifying alignment for functionsWesley Norris2021-04-0518-83/+137
| | | | | | | |
* | | | | | | | Auto merge of #83592 - nagisa:nagisa/dso_local, r=davidtwcobors2021-04-0630-122/+221
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set dso_local for hidden, private and local items This should probably have no real effect in most cases, as e.g. `hidden` visibility already implies `dso_local` (or at least LLVM IR does not preserve the `dso_local` setting if the item is already `hidden`), but it should fix `-Crelocation-model=static` and improve codegen in executables. Note that this PR does not exhaustively port the logic in [clang], only the portion that is necessary to fix a regression from LLVM 12 that relates to `-Crelocation_model=static`. Fixes #83335 [clang]: https://github.com/llvm/llvm-project/blob/3001d080c813da20b329303bf8f45451480e5905/clang/lib/CodeGen/CodeGenModule.cpp#L945-L1039
| * | | | | | | | Manually set dso_local when its valid to do soSimonas Kazlauskas2021-04-0330-122/+221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should have no real effect in most cases, as e.g. `hidden` visibility already implies `dso_local` (or at least LLVM IR does not preserve the `dso_local` setting if the item is already `hidden`), but it should fix `-Crelocation-model=static` and improve codegen in executables. Note that this PR does not exhaustively port the logic in [clang]. Only the obviously correct portion and what is necessary to fix a regression from LLVM 12 that relates to `-Crelocation_model=static`. Fixes #83335 [clang]: https://github.com/llvm/llvm-project/blob/3001d080c813da20b329303bf8f45451480e5905/clang/lib/CodeGen/CodeGenModule.cpp#L945-L1039
* | | | | | | | | Auto merge of #83905 - JohnTitor:rollup-pa1la80, r=JohnTitorbors2021-04-0525-211/+384
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rollup of 8 pull requests Successful merges: - #83370 (Add `x.py setup tools` which enables `download-rustc` by default) - #83489 (Properly suggest deref in else block) - #83734 (Catch a bad placeholder type error for statics in `extern`s) - #83814 (expand: Do not ICE when a legacy AST-based macro attribute produces and empty expression) - #83835 (rustdoc: sort search index items for compression) - #83849 (rustdoc: Cleanup handling of associated items for intra-doc links) - #83881 (:arrow_up: rust-analyzer) - #83885 (Document compiler/ with -Aprivate-intra-doc-links) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
| * | | | | | | | Rollup merge of #83885 - jyn514:private-links, r=Mark-SimulacrumYuki Okushi2021-04-062-9/+2
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Document compiler/ with -Aprivate-intra-doc-links Since compiler/ always passes --document-private-items, it's ok to link to items that are private.
| | * | | | | | | | Document compiler/ with -Aprivate-intra-doc-linksJoshua Nelson2021-04-052-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since compiler/ always passes --document-private-items, it's ok to link to items that are private.
| * | | | | | | | | Rollup merge of #83881 - lnicola:rust-analyzer-2021-04-05, r=jonas-schievinkYuki Okushi2021-04-061-20/+18
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | :arrow_up: rust-analyzer
| | * | | | | | | | | :arrow_up: rust-analyzerLaurențiu Nicola2021-04-051-20/+18
| | |/ / / / / / / /
| * | | | | | | | | Rollup merge of #83849 - jyn514:intra-doc-cleanup, r=bugadaniYuki Okushi2021-04-066-150/+149
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rustdoc: Cleanup handling of associated items for intra-doc links Helps with https://github.com/rust-lang/rust/issues/83761 (right now the uses of the resolver are all intermingled with uses of the tyctxt). Best reviewed one commit at a time. r? ```@bugadani``` maybe? Feel free to reassign :)
| | * | | | | | | | | Use more appropriate return type for `resolve_associated_item`Joshua Nelson2021-04-056-98/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the types looked like this: - None means this is not an associated item (but may be a variant field) - Some(Err) means this is known to be an error. I think the only way that can happen is if it resolved and but you had your own anchor. - Some(Ok(_, None)) was impossible. Now, this returns a nested Option and does the error handling and fiddling with the side channel in the caller. As a side-effect, it also removes duplicate error handling. This has one small change in behavior, which is that `resolve_primitive_associated_item` now goes through `variant_field` if it fails to resolve something. This is not ideal, but since it will be quickly rejected anyway, I think the performance hit is worth the cleanup. This also fixes a bug where struct fields would forget to set the side channel, adds a test for the bug, and ignores `private_intra_doc_links` in rustc_resolve (since it's always documented with --document-private-items).
| | * | | | | | | | | Reduce indentation in `resolve_associated_item`Joshua Nelson2021-04-051-45/+35
| | | | | | | | | | |
| | * | | | | | | | | Remove duplicate unwrap_or_elseJoshua Nelson2021-04-051-43/+47
| | |/ / / / / / / /