about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2024-04-27Bump version to 1.80Mark Rousskov-1/+1
2024-04-27Auto merge of #124405 - RalfJung:miri-core-alloc-tests, r=clubby789bors-3/+0
miri core/alloc tests: do not test a 2nd target check-aux seems to be one of the slowest runners since we started running standard library tests in Miri on it. So maybe it'd be better to reduce test coverage a bit by not doing cross-target testing of core and alloc? I don't recall finding target-specific issues in these libraries ever (and we still have the extra test coverage via our [out-of-tree nightly tests](https://github.com/rust-lang/miri-test-libstd)). This gives us more buffer to deal with the fact that the number of tests we run will only grow over time. Cc `@rust-lang/miri` `@rust-lang/infra`
2024-04-27Auto merge of #124432 - zetanumbers:non_copy_into_raw_with_alloc, r=Nilstriebbors-7/+4
Relax `A: Clone` bound for `rc::Weak::into_raw_and_alloc` Makes this method to behave the same way as [`Box::into_raw_with_allocator`](https://doc.rust-lang.org/1.77.2/alloc/boxed/struct.Box.html#method.into_raw_with_allocator) and [`Vec::into_raw_parts_with_alloc`](https://doc.rust-lang.org/1.77.2/alloc/vec/struct.Vec.html#method.into_raw_parts_with_alloc). I have also noticed the inconsistent presence and naming, should probably be addressed in the future.
2024-04-27Auto merge of #124430 - RalfJung:miri, r=RalfJungbors-568/+675
Miri subtree update r? `@ghost`
2024-04-27Relax `A: Clone` bound for `rc::Weak::into_raw_and_alloc`Daria Sukhonina-7/+4
2024-04-27Auto merge of #124428 - matthiaskrgr:rollup-sk5z4z8, r=matthiaskrgrbors-391/+498
Rollup of 3 pull requests Successful merges: - #124382 (ast: Generalize item kind visiting) - #124387 (thread_local: be excruciatingly explicit in dtor code) - #124427 (Add missing tests for an ICE) r? `@ghost` `@rustbot` modify labels: rollup
2024-04-27Rollup merge of #124427 - gurry:122191-unhandled-type, r=matthiaskrgrMatthias Krüger-0/+76
Add missing tests for an ICE Fixes #122191
2024-04-27Rollup merge of #124387 - workingjubilee:use-raw-pointers-in-thread-locals, ↵Matthias Krüger-9/+12
r=joboet thread_local: be excruciatingly explicit in dtor code Use raw pointers to accomplish internal mutability, and clearly split references where applicable. This reduces the likelihood that any of these parts are misunderstood, either by humans or the compiler's optimizations. Fixes #124317 r? ``@joboet``
2024-04-27Rollup merge of #124382 - petrochenkov:itemvisit, r=lcnrMatthias Krüger-382/+410
ast: Generalize item kind visiting And avoid duplicating logic for visiting `Item`s with different kinds (regular, associated, foreign). The diff is better viewed with whitespace ignored.
2024-04-27Add missing tests for an ICEGurinder Singh-0/+76
2024-04-27Auto merge of #124416 - weihanglo:update-cargo, r=weihanglobors-0/+0
Update cargo 9 commits in c9392675917adc2edab269eea27c222b5359c637..b60a1555155111e962018007a6d0ef85207db463 2024-04-23 19:35:19 +0000 to 2024-04-26 16:37:29 +0000 - fix(toml): Remove underscore field support in 2024 (rust-lang/cargo#13804) - fix: emit 1.77 syntax error only when msrv is incompatible (rust-lang/cargo#13808) - docs(ref): Index differences between virtual / real manifests (rust-lang/cargo#13794) - refactor(toml): extract dependency-to-source-id to function (rust-lang/cargo#13802) - Add where lint was set (rust-lang/cargo#13801) - fix(toml): Don't double-warn when underscore is used in workspace dep (rust-lang/cargo#13800) - fix(toml): Be more forceful with underscore/dash redundancy (rust-lang/cargo#13798) - Fix warning suppression for config.toml vs config compat symlinks (rust-lang/cargo#13793) - Cleanup linting system (rust-lang/cargo#13797) r? ghost
2024-04-26thread_local: refine LazyKeyInner::take safety docJubilee-1/+1
Co-authored-by: joboet <jonasboettiger@icloud.com>
2024-04-27Auto merge of #124424 - jhpratt:rollup-o3ngkjy, r=jhprattbors-380/+558
Rollup of 5 pull requests Successful merges: - #124341 (resolve: Remove two cases of misleading macro call visiting) - #124383 (Port run-make `--print=native-static-libs` to rmake.rs) - #124391 (`rustc_builtin_macros` cleanups) - #124408 (crashes: add more tests) - #124410 (PathBuf: replace transmuting by accessor functions) r? `@ghost` `@rustbot` modify labels: rollup
2024-04-26Rollup merge of #124410 - RalfJung:path-buf-transmute, r=NilstriebJacob Pratt-7/+25
PathBuf: replace transmuting by accessor functions The existing `repr(transparent)` was anyway insufficient as `OsString` was not `repr(transparent)`. And furthermore, on Windows it was blatantly wrong as `OsString` wraps `Wtf8Buf` which is a `repr(Rust)` type with 2 fields: https://github.com/rust-lang/rust/blob/51a7396ad3d78d9326ee1537b9ff29ab3919556f/library/std/src/sys_common/wtf8.rs#L131-L146 So let's just be honest about what happens and add accessor methods that make this abstraction-breaking act of PathBuf visible on the APIs that it pierces through. Fixes https://github.com/rust-lang/rust/issues/124409
2024-04-26Rollup merge of #124408 - matthiaskrgr:loltest, r=jieyouxuJacob Pratt-0/+102
crashes: add more tests
2024-04-26Rollup merge of #124391 - nnethercote:builtin_macros-cleanups, r=fee1-deadJacob Pratt-341/+352
`rustc_builtin_macros` cleanups Some improvements I found while looking over this code. r? ``@fee1-dead``
2024-04-26Rollup merge of #124383 - Urgau:port-print-native-static-libs, r=jieyouxuJacob Pratt-20/+76
Port run-make `--print=native-static-libs` to rmake.rs This PR port the run-make `--print=native-static-libs` test to rmake.rs The dedup was really awful in the `Makefile`, I'm glad to finally have a proper dedup detection for this. Related to https://github.com/rust-lang/rust/issues/121876 r? `@jieyouxu`
2024-04-26Rollup merge of #124341 - petrochenkov:nomacvisit, r=compiler-errorsJacob Pratt-12/+3
resolve: Remove two cases of misleading macro call visiting Macro calls are ephemeral, they should not add anything to the definition tree, even if their AST could contains something with identity. Thankfully, macro call AST cannot contain anything like that, so these walks are just noops. In majority of other places in def_collector / build_reduced_graph they are already not visited. (Also, a minor match reformatting is included.)
2024-04-27Also support MSVC in print-native-static-libs testUrgau-5/+18
2024-04-26Auto merge of #124296 - cuviper:dist-cargo-tests, r=onur-ozkanbors-0/+6
bootstrap: keep all cargo test files in dist rustc-src Cargo tests use some files that we would otherwise exclude, especially the `cargo init` tests that are meant to deal with pre-existing `.git` and `.hg` repos and their ignore files. Keeping these in our dist tarball doesn't take much space, and allows distro builds to run these tests successfully.
2024-04-26Auto merge of #3517 - RalfJung:env-vars, r=RalfJungbors-530/+614
env: split up Windows and Unix environment variable handling On Windows, manage them entirely outside the AM state; this also means we no longer report any data races for environment variable memory. Fixes https://github.com/rust-lang/rust/issues/124411
2024-04-26env: split up Windows and Unix environment variable handlingRalf Jung-530/+606
2024-04-26Update cargoWeihang Lo-0/+0
2024-04-26add test for concurrent env var accessRalf Jung-0/+8
2024-04-26Port run-make `--print=native-static-libs` to rmake.rsUrgau-20/+63
2024-04-26Auto merge of #123909 - dtolnay:utf8chunks, r=joboetbors-40/+57
Stabilize `Utf8Chunks` Pending FCP in https://github.com/rust-lang/rust/issues/99543. This PR includes the proposed modification in https://github.com/rust-lang/libs-team/issues/190 as agreed in https://github.com/rust-lang/rust/issues/99543#issuecomment-2050406568.
2024-04-26PathBuf: replace transmuting by accessor functionsRalf Jung-7/+25
2024-04-26Auto merge of #3516 - RalfJung:pathbuf, r=RalfJungbors-37/+60
add smoke tests for basic PathBuf interactions I wrote these while debugging [this](https://github.com/rust-lang/miri-test-libstd/actions/runs/8849912635/job/24302962983); it turns out the issue is [more complicated](https://github.com/rust-lang/rust/issues/124409) but these tests still seemed worth keeping.
2024-04-26add smoke tests for basic PathBuf interactionsRalf Jung-37/+60
2024-04-26Auto merge of #122385 - lcnr:analyze-obligations-for-infer, r=compiler-errorsbors-350/+677
`obligations_for_self_ty`: use `ProofTreeVisitor` for nested goals As always, dealing with proof trees continues to be a hacked together mess. After this PR and #124380 the only remaining blocker for core is https://github.com/rust-lang/trait-system-refactor-initiative/issues/90. There is also a `ProofTreeVisitor` issue causing an ICE when compiling `alloc` which I will handle in a separate PR. This issue likely affects coherence diagnostics more generally. The core idea is to extend the proof tree visitor to support visiting nested candidates without using a `probe`. We then simply recurse into nested candidates if they are the only potentially applicable candidate for a given goal and check whether the self type matches the expected one. For that to work, we need to improve `CanonicalState` to also handle unconstrained inference variables created inside of the trait solver. This is done by extending the `var_values` of `CanoncalState` with each fresh inference variables. Furthermore, we also store the state of all inference variables at the end of each probe. When recursing into `InspectCandidates` we then unify the values of all these states. r? `@compiler-errors`
2024-04-26crashes: add more testsMatthias Krüger-0/+102
2024-04-26miri core/alloc tests: do not test a 2nd targetRalf Jung-3/+0
2024-04-26Auto merge of #124321 - JoverZhang:run-make-support-tests, r=onur-ozkanbors-0/+49
Add support for run-make-support unit tests to be run with bootstrap The `run-make-support` library needs to run its unit tests to ensure it is correct. Close #124267
2024-04-26Auto merge of #124393 - scottmcm:do-the-macros-still-matter, r=joboetbors-21/+20
Convert some iter macros to normal functions With all the MIR optimization changes that have happened since these were written, let's see if they still actually matter. \*perf comes back\* Well, it looks like it's not longer relevant for instruction, cycle, nor wall-time perf. Looks like a bunch of things are maybe 10kb bigger in debug, but some are also 50k *smaller* in debug. So I think they should switch to being normal functions as the "greatly improves performance" justification for them being macros seems to no longer be true -- probably thanks to us always building `core` with `-Z inline-mir` so the difference is negligible.
2024-04-26Add support for run-make-support unit tests to be run with bootstrap commandJover Zhang-0/+49
Co-authored-by: Onur Özkan <onurozkan.dev@outlook.com>
2024-04-26Auto merge of #3515 - rust-lang:rustup-2024-04-26, r=oli-obkbors-783/+1114
Automatic Rustup
2024-04-25Convert some iter macros to normal functionsScott McMurray-21/+20
With all the MIR optimization changes that have happened since these were written, let's see if they still actually matter.
2024-04-26Merge from rustcThe Miri Cronjob Bot-782/+1113
2024-04-26Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-04-26Adjust some `pub`s.Nicholas Nethercote-81/+81
2024-04-26Auto merge of #120845 - petrochenkov:debmac, r=oli-obkbors-339/+211
debuginfo: Stabilize `-Z debug-macros`, `-Z collapse-macro-debuginfo` and `#[collapse_debuginfo]` `-Z debug-macros` is "stabilized" by enabling it by default and removing. `-Z collapse-macro-debuginfo` is stabilized as `-C collapse-macro-debuginfo`. It now supports all typical boolean values (`parse_opt_bool`) in addition to just yes/no. Default value of `collapse_debuginfo` was changed from `false` to `external` (i.e. collapsed if external, not collapsed if local) - https://github.com/rust-lang/rust/issues/100758#issuecomment-1935815625 describes some debugging scenarios that motivate this default as reasonable. `#[collapse_debuginfo]` attribute without a value is no longer supported to avoid guessing the default. Stabilization report: https://github.com/rust-lang/rust/pull/120845#issuecomment-1939145242 Closes https://github.com/rust-lang/rust/issues/100758 Closes https://github.com/rust-lang/rust/issues/41743 Closes https://github.com/rust-lang/rust/issues/39153
2024-04-26Update lldb only testsVadim Petrochenkov-0/+2
2024-04-26Auto merge of #124388 - compiler-errors:rollup-v17b8fm, r=compiler-errorsbors-73/+34
Rollup of 4 pull requests Successful merges: - #124076 (Stablise io_error_downcast) - #124378 (Keep the LIB env var in the compiler-builtins test) - #124379 (Remove special-casing for `SimplifiedType` for next solver) - #124381 (Renamed `DerivedObligation` to `WellFormedDeriveObligation`) r? `@ghost` `@rustbot` modify labels: rollup
2024-04-25Rollup merge of #124381 - compiler-errors:derived-for-wf, r=lcnrMichael Goulet-6/+11
Renamed `DerivedObligation` to `WellFormedDeriveObligation` It's used when computing `WellFormed` obligations, so let's give it a less ambiguous name.
2024-04-25Rollup merge of #124379 - compiler-errors:remove-new-solver-lookup-behavior, ↵Michael Goulet-63/+18
r=lcnr Remove special-casing for `SimplifiedType` for next solver It's unnecessary due to the way that we fully normalize the self type before assembly begins. r? lcnr
2024-04-25Rollup merge of #124378 - dpaoliello:keeplib, r=jieyouxuMichael Goulet-1/+4
Keep the LIB env var in the compiler-builtins test The `tests/run-make/compiler-builtins` test was failing for me with Visual Studio 2022, complaining that it couldn't find `kernel32.lib`. For whatever reason, with VS 2022 we need to keep the `LIB` environment variable when invoking Cargo so that the linker can find the Windows SDK libs.
2024-04-25Rollup merge of #124076 - NobodyXu:patch-1, r=dtolnayMichael Goulet-3/+1
Stablise io_error_downcast Tracking issue #99262 Closes #99262 FCP completed in https://github.com/rust-lang/rust/issues/99262#issuecomment-2077374397
2024-04-26Move some functions from `rustc_expand` to `rustc_builtin_macros`.Nicholas Nethercote-237/+234
These functions are only used in `rustc_builtin_macros`, so it makes sense for them to live there. This allows them to be changed from `pub` to `pub(crate)`.
2024-04-26Introduce `DeriveResolution`.Nicholas Nethercote-20/+32
Making this a proper struct, and giving its fields names, makes things easier to understand.
2024-04-25Renamed DerivedObligation to WellFormedDeriveObligationMichael Goulet-6/+11