about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2021-03-09Rollup merge of #82883 - Aaron1011:update-cargo, r=ehussMara Bos-0/+0
Update Cargo Output of `git log --oneline c68432f1e..970bc67c3`: 970bc67c3 (HEAD, origin/master, origin/auto-cargo, origin/HEAD) Auto merge of #9243 - wickerwaka:configurable-env-doc, r=ehuss 4d7a29b75 Document the configurable-env usntable option f7a7a3f91 Auto merge of #9229 - alexcrichton:fix-borrow-mut, r=ehuss 3f2ece7a9 Fix a `BorrowMut` error when stdout is closed 7441e8c23 Auto merge of #8825 - Aaron1011:feature/report-future-incompat, r=ehuss 139ed73f5 Add future-incompat tracking issue number. 9ea350368 Fix some minor formatting issues. f03d47ce4 Address review comments 6177c6584 Implement future incompatibility report support c69409658 Auto merge of #9022 - nagisa:nagisa/manifest_path, r=alexcrichton 548300b20 Add the path to the manifest in json output 99e714c05 Auto merge of #9230 - kornelski:nobinaries, r=alexcrichton 61a31bc5f Auto merge of #9236 - kornelski:track-assert, r=Eh2406 3f7f0942c track_caller on custom assert functions 6977dee10 Explain `cargo install` is not for libraries e4aebf0a0 Auto merge of #9231 - joshtriplett:clear-to-eol-if-color, r=alexcrichton b219f0eb7 Auto merge of #9181 - jyn514:computer-says-no, r=ehuss 0b1816578 Remove unhelpful link to Cargo book ea46f5ce3 Use ANSI clear-to-EOL if color is force-enabled a6394bcc1 Remove unnecessary `config` argument to `Features::add` 3a86ecf2d Fix TODO about nightly features 09677c83c Be less unix-centric in error messages ecfdced0d Fix test that assumed tests always were run on the stable channel eba541994 Update comment in build_script_env a5720117f Make `nightly_features_allowed` a field instead of a function 169b09ce7 Compute `enable_nightly_features` once instead of on each call 8fc86e155 Remove unused thread_locals 4b096beae Fix `masquerade_as_nightly_cargo` in work threads e56417c8c Suggest RUSTC_BOOTSTRAP=crate instead of RUSTC_BOOTSTRAP=1 418129dae Downgrade error to a warning when `RUSTC_BOOTSTRAP` is set or this is the nightly channel 6c422a2c0 Restrict RUSTC_BOOTSTRAP in build.rs
2021-03-09Rollup merge of #82841 - hvdijk:x32, r=joshtriplettMara Bos-1/+1
Change x64 size checks to not apply to x32. Rust contains various size checks conditional on target_arch = "x86_64", but these checks were never intended to apply to x86_64-unknown-linux-gnux32. Add target_pointer_width = "64" to the conditions.
2021-03-09Rollup merge of #82799 - bugadani:codegen-tests, r=nagisaMara Bos-0/+27
Add regression test for #75525
2021-03-09Rollup merge of #82048 - mark-i-m:or-pat-type-ascription, r=petrochenkovMara Bos-276/+460
or-patterns: disallow in `let` bindings ~~Blocked on https://github.com/rust-lang/rust/pull/81869~~ Disallows top-level or-patterns before type ascription. We want to reserve this syntactic space for possible future generalized type ascription. r? ``@petrochenkov``
2021-03-09Auto merge of #82356 - camelid:render-cleanup, r=GuillaumeGomezbors-60/+84
rustdoc: Cleanup `html::render::Context` - Move most shared fields to `SharedContext` (except for `cache`, which isn't mutated anyway) - Replace a use of `Arc` with `Rc` - Make a bunch of fields private - Add static size assertion for `Context` - Don't share `id_map` and `deref_id_map`
2021-03-08clippy: fix or-pattern in let bindingmark-1/+3
2021-03-08Rollup merge of #82881 - Manishearth:crate-root, r=estebankMara Bos-7/+105
diagnostics: Be clear about "crate root" and `::foo` paths in resolve diagnostics Various changes to make sure the diagnostics are clear about the differences in `::foo` paths across editions: - `::foo` will say "crate root" in 2015 and "list of imported crates" in 2018 - `crate::` will never reference imported crates in 2018 Fixes https://github.com/rust-lang/rust/issues/82876
2021-03-08Rollup merge of #82874 - erikdesjardins:cgtests, r=nagisaMara Bos-0/+76
Add codegen tests for some issues closed by LLVM 12 Namely #73031, #75546, and #77812
2021-03-08Rollup merge of #82854 - estebank:issue-82827, r=oli-obkMara Bos-222/+176
Account for `if (let pat = expr) {}` Fix #82827.
2021-03-08Rollup merge of #82829 - JohnTitor:handle-neg-val, r=estebankMara Bos-1/+2
Handle negative literals in cast overflow warning Closes #48535 r? `@estebank`
2021-03-08Rollup merge of #82810 - amaurremi:source-based-coverage-typo, r=ehussMara Bos-1/+1
Typo fix in Unstable book: `cargo cov` -> `cargo profdata`
2021-03-08Rollup merge of #82800 - jyn514:group-rustdoc-tests, r=Mark-SimulacrumMara Bos-1/+4
Move rustdoc UI tests into a subdirectory Helps with https://github.com/rust-lang/rust/issues/73494.
2021-03-08Rollup merge of #82767 - GuillaumeGomez:update-minifier-crate-version, r=jyn514Mara Bos-1/+1
Update minifier dependency version Very small PR simply upgrading the minifier-rs version we use in rustdoc. Some details might be useful: there were a few bug fixes and a lot of cleanup/code improvements. r? `@camelid`
2021-03-08Auto merge of #82896 - Dylan-DPC:rollup-9setmme, r=Dylan-DPCbors-218/+699
Rollup of 10 pull requests Successful merges: - #82047 (bypass auto_da_alloc for metadata files) - #82415 (expand: Refactor module loading) - #82557 (Add natvis for Result, NonNull, CString, CStr, and Cow) - #82613 (Remove Item::kind, use tagged enum. Rename variants to match) - #82642 (Fix jemalloc usage on OSX) - #82682 (Implement built-in attribute macro `#[cfg_eval]` + some refactoring) - #82684 (Disable destination propagation on all mir-opt-levels) - #82755 (Refactor confirm_builtin_call, remove partial if) - #82857 (Edit ructc_ast_lowering docs) - #82862 (Generalize Write impl for Vec<u8> to Vec<u8, A>) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2021-03-08Move rustdoc UI tests into a subdirectoryJoshua Nelson-1/+4
This also adds a little leeway to the test limit.
2021-03-08Rollup merge of #82684 - tmiasko:dest-prop, r=jonas-schievinkDylan DPC-147/+255
Disable destination propagation on all mir-opt-levels The new `// compile-flags: -Zunsound-mir-opts` are inserted without an extra newline to avoid introducing a large mir-opt diff.
2021-03-08Rollup merge of #82682 - petrochenkov:cfgeval, r=Aaron1011Dylan DPC-0/+196
Implement built-in attribute macro `#[cfg_eval]` + some refactoring This PR implements a built-in attribute macro `#[cfg_eval]` as it was suggested in https://github.com/rust-lang/rust/pull/79078 to avoid `#[derive()]` without arguments being abused as a way to configure input for other attributes. The macro is used for eagerly expanding all `#[cfg]` and `#[cfg_attr]` attributes in its input ("fully configuring" the input). The effect is identical to effect of `#[derive(Foo, Bar)]` which also fully configures its input before passing it to macros `Foo` and `Bar`, but unlike `#[derive]` `#[cfg_eval]` can be applied to any syntax nodes supporting macro attributes, not only certain items. `cfg_eval` was the first name suggested in https://github.com/rust-lang/rust/pull/79078, but other alternatives are also possible, e.g. `cfg_expand`. ```rust #[cfg_eval] #[my_attr] // Receives `struct S {}` as input, the field is configured away by `#[cfg_eval]` struct S { #[cfg(FALSE)] field: u8, } ``` Tracking issue: https://github.com/rust-lang/rust/issues/82679
2021-03-08Rollup merge of #82613 - CraftSpider:fix-de, r=aDotInTheVoidDylan DPC-56/+165
Remove Item::kind, use tagged enum. Rename variants to match Fixes #82299, by making the ItemEnum tagged. Doesn't remove ItemKind as it's still used in other places. r? `````@jyn514````` `````@rustbot````` label: +A-rustdoc-json +T-rustdoc
2021-03-08Rollup merge of #82557 - rylev:natvis-improvements, r=varkorDylan DPC-0/+51
Add natvis for Result, NonNull, CString, CStr, and Cow This adds natvis support (used for Windows debugging) to the following types: `Result`, `NonNull`, `CString`, `CStr`, and `Cow`.
2021-03-08Rollup merge of #82415 - petrochenkov:modin3, r=davidtwcoDylan DPC-15/+32
expand: Refactor module loading This is an accompanying PR to https://github.com/rust-lang/rust/pull/82399, but they can be landed independently. See individual commits for more details. Anyone should be able to review this equally well because all people actually familiar with this code left the project.
2021-03-08Auto merge of #82783 - nikic:llvm-ct-backports, r=nagisabors-0/+0
Backport some LLVM compile-time improvements Pick up two LLVM patches that reduce number of alias analysis queries, to see whether that gives any visible improvement. r? `@ghost`
2021-03-08Auto merge of #82727 - oli-obk:shrinkmem, r=pnkfelixbors-3/+3
Test the effect of shrinking the size of Rvalue by 16 bytes r? `@ghost`
2021-03-07Auto merge of #81635 - michaelwoerister:structured_def_path_hash, r=pnkfelixbors-96/+94
Let a portion of DefPathHash uniquely identify the DefPath's crate. This allows to directly map from a `DefPathHash` to the crate it originates from, without constructing side tables to do that mapping -- something that is useful for incremental compilation where we deal with `DefPathHash` instead of `DefId` a lot. It also allows to reliably and cheaply check for `DefPathHash` collisions which allows the compiler to gracefully abort compilation instead of running into a subsequent ICE at some random place in the code. The following new piece of documentation describes the most interesting aspects of the changes: ```rust /// A `DefPathHash` is a fixed-size representation of a `DefPath` that is /// stable across crate and compilation session boundaries. It consists of two /// separate 64-bit hashes. The first uniquely identifies the crate this /// `DefPathHash` originates from (see [StableCrateId]), and the second /// uniquely identifies the corresponding `DefPath` within that crate. Together /// they form a unique identifier within an entire crate graph. /// /// There is a very small chance of hash collisions, which would mean that two /// different `DefPath`s map to the same `DefPathHash`. Proceeding compilation /// with such a hash collision would very probably lead to an ICE and, in the /// worst case, to a silent mis-compilation. The compiler therefore actively /// and exhaustively checks for such hash collisions and aborts compilation if /// it finds one. /// /// `DefPathHash` uses 64-bit hashes for both the crate-id part and the /// crate-internal part, even though it is likely that there are many more /// `LocalDefId`s in a single crate than there are individual crates in a crate /// graph. Since we use the same number of bits in both cases, the collision /// probability for the crate-local part will be quite a bit higher (though /// still very small). /// /// This imbalance is not by accident: A hash collision in the /// crate-local part of a `DefPathHash` will be detected and reported while /// compiling the crate in question. Such a collision does not depend on /// outside factors and can be easily fixed by the crate maintainer (e.g. by /// renaming the item in question or by bumping the crate version in a harmless /// way). /// /// A collision between crate-id hashes on the other hand is harder to fix /// because it depends on the set of crates in the entire crate graph of a /// compilation session. Again, using the same crate with a different version /// number would fix the issue with a high probability -- but that might be /// easier said then done if the crates in questions are dependencies of /// third-party crates. /// /// That being said, given a high quality hash function, the collision /// probabilities in question are very small. For example, for a big crate like /// `rustc_middle` (with ~50000 `LocalDefId`s as of the time of writing) there /// is a probability of roughly 1 in 14,750,000,000 of a crate-internal /// collision occurring. For a big crate graph with 1000 crates in it, there is /// a probability of 1 in 36,890,000,000,000 of a `StableCrateId` collision. ``` Given the probabilities involved I hope that no one will ever actually see the error messages. Nonetheless, I'd be glad about some feedback on how to improve them. Should we create a GH issue describing the problem and possible solutions to point to? Or a page in the rustc book? r? `@pnkfelix` (feel free to re-assign)
2021-03-07Update CargoAaron Hill-0/+0
Output of `git log --oneline c68432f1e..970bc67c3`: 970bc67c3 (HEAD, origin/master, origin/auto-cargo, origin/HEAD) Auto merge of #9243 - wickerwaka:configurable-env-doc, r=ehuss 4d7a29b75 Document the configurable-env usntable option f7a7a3f91 Auto merge of #9229 - alexcrichton:fix-borrow-mut, r=ehuss 3f2ece7a9 Fix a `BorrowMut` error when stdout is closed 7441e8c23 Auto merge of #8825 - Aaron1011:feature/report-future-incompat, r=ehuss 139ed73f5 Add future-incompat tracking issue number. 9ea350368 Fix some minor formatting issues. f03d47ce4 Address review comments 6177c6584 Implement future incompatibility report support c69409658 Auto merge of #9022 - nagisa:nagisa/manifest_path, r=alexcrichton 548300b20 Add the path to the manifest in json output 99e714c05 Auto merge of #9230 - kornelski:nobinaries, r=alexcrichton 61a31bc5f Auto merge of #9236 - kornelski:track-assert, r=Eh2406 3f7f0942c track_caller on custom assert functions 6977dee10 Explain `cargo install` is not for libraries e4aebf0a0 Auto merge of #9231 - joshtriplett:clear-to-eol-if-color, r=alexcrichton b219f0eb7 Auto merge of #9181 - jyn514:computer-says-no, r=ehuss 0b1816578 Remove unhelpful link to Cargo book ea46f5ce3 Use ANSI clear-to-EOL if color is force-enabled a6394bcc1 Remove unnecessary `config` argument to `Features::add` 3a86ecf2d Fix TODO about nightly features 09677c83c Be less unix-centric in error messages ecfdced0d Fix test that assumed tests always were run on the stable channel eba541994 Update comment in build_script_env a5720117f Make `nightly_features_allowed` a field instead of a function 169b09ce7 Compute `enable_nightly_features` once instead of on each call 8fc86e155 Remove unused thread_locals 4b096beae Fix `masquerade_as_nightly_cargo` in work threads e56417c8c Suggest RUSTC_BOOTSTRAP=crate instead of RUSTC_BOOTSTRAP=1 418129dae Downgrade error to a warning when `RUSTC_BOOTSTRAP` is set or this is the nightly channel 6c422a2c0 Restrict RUSTC_BOOTSTRAP in build.rs
2021-03-07diagnostics: Don't mention external crates when hitting import errors on ↵Manish Goregaokar-5/+5
crate imports in 2018
2021-03-07Remove notes, increase S/N ratioEsteban Küber-3/+0
2021-03-07add codegen tests for some issues closed by LLVM 12Erik Desjardins-0/+76
2021-03-07Add help for `matches` for `if let` in arm guardEsteban Küber-0/+2
2021-03-07diagnostics: Differentiate between edition meanings of ::foo in resolve ↵Manish Goregaokar-8/+48
diagnostics for ::foo::Bar
2021-03-07diagnostics: Differentiate between edition meanings of ::foo in resolve ↵Manish Goregaokar-4/+62
diagnostics (for bare `::foo`)
2021-03-07Add help suggesting `matches` to `let_chains` lintEsteban Küber-0/+48
2021-03-07Account for `if (let pat = expr) {}`Esteban Küber-222/+129
Partially address #82827.
2021-03-07Rollup merge of #82803 - jyn514:unversioned-files, r=GuillaumeGomezYuki Okushi-33/+72
rustdoc: Add an unstable option to print all unversioned files This allows sharing those files between different doc invocations without having to know their names ahead of time. Helps with https://github.com/rust-lang/docs.rs/issues/1302. r? ````@GuillaumeGomez```` cc ````@pietroalbini```` ````@Nemo157````
2021-03-07Rollup merge of #82793 - JohnTitor:move-ui-tests, r=petrochenkovYuki Okushi-46/+1
Move some tests to more suitable subdirs ## The results from classifui (The full results can be found here: https://gist.github.com/JohnTitor/c9e00840990b5e4a8fc562ec3571e427) - [lint-expr-stmt-attrs-for-early-lints.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/lint-expr-stmt-attrs-for-early-lints.rs) <sup>unknown</sup>: lint (1.566), feature-gates (-0.632), numbers-arithmetic (-0.955) - [try-block.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/try-block.rs) <sup>unknown</sup>: binding (1.385), try-block (-0.097), lint (-0.932) - [backtrace-debuginfo.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/backtrace-debuginfo.rs) <sup>unknown</sup>: macros (1.365), cfg (-0.279), drop (-0.291) - [issues/issue-3521.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-3521.rs) <sup>[issue](https://github.com/rust-lang/rust/issues/3521)</sup>: consts (1.298), enum (-0.872), in-band-lifetimes (-0.978) - [impl-bounds-checking.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/impl-bounds-checking.rs) <sup>unknown</sup>: traits (1.243), for (-0.999), shadowed (-0.999) - [issues/issue-17718.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-17718.rs) <sup>[issue](https://github.com/rust-lang/rust/issues/17718)</sup>: binding (1.236), consts (0.315), extern (-0.779) - [issue-6157.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/issue-6157.rs) <sup>[issue](https://github.com/rust-lang/rust/issues/6157)</sup>: regions (1.213), unboxed-closures (-0.285), traits (-0.510) - [issues/issue-44373.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-44373.rs) <sup>[issue](https://github.com/rust-lang/rust/issues/44373)</sup>: consts (1.187), nll (0.427), borrowck (-0.704) - [nullable-pointer-ffi-compat.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/nullable-pointer-ffi-compat.rs) <sup>unknown</sup>: regions (1.184), consts (0.650), traits (-0.571) - [issues/issue-52992.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-52992.rs) <sup>[issue](https://github.com/rust-lang/rust/issues/52992)</sup>: nll (1.132), associated-types (-0.628), parser (-0.893) - [issues/issue-2330.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-2330.rs) <sup>[issue](https://github.com/rust-lang/rust/issues/2330)</sup>: traits (1.116), directory_ownership (-0.691), compare-method (-0.981) - [issue-74047.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/issue-74047.rs) <sup>[issue](https://github.com/rust-lang/rust/issues/74047)</sup>: async-await (1.109), impl-trait (-0.629), resolve (-0.781) - [issues/issue-33140.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-33140.rs) <sup>[issue](https://github.com/rust-lang/rust/issues/33140)</sup>: traits (1.063), coherence (-0.832), codemap_tests (-0.944) - [issues/issue-28576.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-28576.rs) <sup>[issue](https://github.com/rust-lang/rust/issues/28576)</sup>: traits (1.062), associated-types (-0.333), impl-trait (-0.697) - [issues/issue-7222.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-7222.rs) <sup>[issue](https://github.com/rust-lang/rust/issues/7222)</sup>: binding (1.062), consts (-0.226), numbers-arithmetic (-0.294) - [tup.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/tup.rs) <sup>unknown</sup>: structs-enums (1.061), threads-sendsync (-0.550), moves (-0.790) - [issues/issue-15261.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-15261.rs) <sup>[issue](https://github.com/rust-lang/rust/issues/15261)</sup>: consts (1.052), where-clauses (-0.833), macros (-0.862) - [issues/issue-76179.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-76179.rs) <sup>[issue](https://github.com/rust-lang/rust/issues/76179)</sup>: associated-types (1.048), process (-0.887), rfc-2457 (-0.984) - [issues/issue-42344.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-42344.rs) <sup>[issue](https://github.com/rust-lang/rust/issues/42344)</sup>: borrowck (1.043), macros (-0.481), specialization (-0.966) - [issues/issue-18661.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-18661.rs) <sup>[issue](https://github.com/rust-lang/rust/issues/18661)</sup>: unboxed-closures (1.038), mir (-0.648), higher-rank-trait-bounds (-0.688) - [issues/issue-2633.rs](https://github.com/rust-lang/rust/blob/master/src/test/ui/issues/issue-2633.rs) <sup>[issue](https://github.com/rust-lang/rust/issues/2633)</sup>: structs-enums (1.020), functions-closures (-0.722), lint (-0.967) Some notes: - If there are related tests (e.g. it's for the same issue), they are moved along with it. - Moved try-block.rs to the `try-block` dir. - Moved tup.rs to the `tuple` dir. - Moved some tests that classified as consts to the `statics` dir, as it seems they have statics actually. - Skipped backtrace-debuginfo.rs because I think classifui overrates their helper macros. cc #73494 r? ```@petrochenkov```
2021-03-07Rollup merge of #82720 - henryboisdequin:fix-79040, r=oli-obkYuki Okushi-25/+28
Fix diagnostic suggests adding type `[type error]` Fixes #79040 ### Unresolved questions: <del>Why does this change output the diagnostic twice (`src/test/ui/79040.rs`)?</del> Thanks `````@oli-obk`````
2021-03-07Rollup merge of #82651 - jyn514:rustdoc-warnings, r=GuillaumeGomezYuki Okushi-40/+89
Cleanup rustdoc warnings ## Clean up error reporting for deprecated passes Using `error!` here goes all the way back to the original commit, https://github.com/rust-lang/rust/pull/8540. I don't see any reason to use logging; rustdoc should use diagnostics wherever possible. See https://github.com/rust-lang/rust/pull/81932#issuecomment-785291244 for further context. - Use spans for deprecated attributes - Use a proper diagnostic for unknown passes, instead of error logging - Add tests for unknown passes - Improve some wording in diagnostics ## Report that `doc(plugins)` doesn't work using diagnostics instead of `eprintln!` This also adds a test for the output. This was added in https://github.com/rust-lang/rust/pull/52194. I don't see any particular reason not to use diagnostics here, I think it was just missed in https://github.com/rust-lang/rust/pull/50541.
2021-03-07Rollup merge of #82402 - jyn514:module-cache-refcell, r=GuillaumeGomezYuki Okushi-50/+56
Remove RefCell around `module_trait_cache` This builds on https://github.com/rust-lang/rust/pull/82018 and should not be merged before. ## Don't require a `DocContext` for `report_diagnostic` This is needed for the next commit, which needs mutable access to the `cx` from within the `decorate` closure. - Change `as_local_hir_id` to an associated function, since it only needs a `TyCtxt` - Change `source_span_for_markdown_range` to only take a `TyCtxt` ## Remove RefCell around module_trait_cache This is mostly just changing lots of functions from `&DocContext` to `&mut DocContext`.
2021-03-07Rollup merge of #77916 - QuiltOS:kernel-code-targets-os-none, r=joshtriplettYuki Okushi-2/+2
Change built-in kernel targets to be os = none throughout Whether for Rust's own `target_os`, LLVM's triples, or GNU config's, the OS-related have fields have been for code running *on* that OS, not code hat is *part* of the OS. The difference is huge, as syscall interfaces are nothing like freestanding interfaces. Kernels are (hypervisors and other more exotic situations aside) freestanding programs that use the interfaces provided by the hardware. It's *those* interfaces, the ones external to the program being built and its software dependencies, that are the content of the target. For the Linux Kernel in particular, `target_env: "gnu"` is removed for the same reason: that `-gnu` refers to glibc or GNU/linux, neither of which applies to the kernel itself. Relates to #74247
2021-03-06Revert fmt version, add rustdoc-json-types to bootstrap testsRune Tynan-1/+73
2021-03-06x.py fmtRune Tynan-9/+3
2021-03-06Move tests to own fileRune Tynan-42/+41
2021-03-06Add roundtrip testing and bump format versionRune Tynan-1/+48
2021-03-06Remove Item::kind, use tagged enum. Rename variants to matchRune Tynan-56/+53
2021-03-06Implement built-in attribute macro `#[cfg_eval]`Vadim Petrochenkov-0/+196
2021-03-06Change x64 size checks to not apply to x32.Harald van Dijk-1/+1
Rust contains various size checks conditional on target_arch = "x86_64", but these checks were never intended to apply to x86_64-unknown-linux-gnux32. Add target_pointer_width = "64" to the conditions.
2021-03-06Move some tests to more suitable subdirsYuki Okushi-46/+1
2021-03-06Handle negative literals in cast overflow warningYuki Okushi-1/+2
2021-03-05Undo addition of boxesCamelid-8/+7
I don't think the boxing helped performance, in fact I think it potentially made it worse. The data was still being copied, but now it was through a pointer. Thinking about it more, I think boxing might only help when you're passing a big object around by value all the time, rather than the slowdown being that you're cloning it.
2021-03-05Don't unnecessarily clone some fields in `Context`Camelid-22/+28
There was no need to clone `id_map` because it was reset before each item was rendered. `deref_id_map` was not reset, but it was keyed by `DefId` and thus was unlikely to have collisions (at least for now). Now we just clone the fields that need to be cloned, and instead create fresh versions of the others.
2021-03-05Box some fields to reduce `Context` sizeCamelid-5/+5
Reduced from 152 bytes to 88 bytes.