about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2023-09-14Enable varargs support for AAPCS calling conventionSoveu-4/+8
This is the default calling convention for ARM - it is used for extern "C", therefore it supports varargs.
2023-09-14Auto merge of #115848 - matthiaskrgr:rollup-lsul9dz, r=matthiaskrgrbors-41/+133
Rollup of 4 pull requests Successful merges: - #115772 (Improve Span in smir) - #115832 (Fix the error message for `#![feature(no_coverage)]`) - #115834 (Properly consider binder vars in `HasTypeFlagsVisitor`) - #115844 (Paper over an accidental regression) r? `@ghost` `@rustbot` modify labels: rollup
2023-09-14Rollup merge of #115844 - oli-obk:opaque_lifetime_ambiguity, r=jackh726Matthias Krüger-15/+24
Paper over an accidental regression r? types cc https://github.com/rust-lang/rust/issues/115781 (do not close issue until beta backport has been performed) The PR reasons are explained with comments in the source. In order to keep the diff simple, this PR effectively reverts https://github.com/rust-lang/rust/pull/113661, but only for RPITs. I will submit a follow up PR that fixes this correctly instead of just disabling the newly added check for RPITs. This PR should be significantly easier to review for beta backport
2023-09-14Rollup merge of #115834 - compiler-errors:binder-vars, r=jackh726Matthias Krüger-15/+72
Properly consider binder vars in `HasTypeFlagsVisitor` Given a PolyTraitRef like `for<'a> Ty: Trait` (where neither `Ty` nor `Trait` mention `'a`), we do *not* return true for `.has_type_flags(TypeFlags::HAS_LATE_BOUND)`, even though binders are supposed to act as if they have late-bound vars even if they don't mention them in their bound value: 31ae3b2bdb9376b749fc1d64b531e86806e03c73. This is because we use `HasTypeFlagsVisitor`, which only computes the type flags for `Ty`, `Const` and `Region` and `Predicates`, and we consequently skip any binders (and setting flags for their vars) that are not contained in one of these types. This ends up causing a problem, because when we call `TyCtxt::erase_regions` (which both erases regions *and* anonymizes bound vars), we will skip such a PolyTraitRef, not anonymizing it, and therefore not making it structurally equal to other binders. This breaks vtable computations. This PR computes the flags for all binders we enter in `HasTypeFlagsVisitor` if we're looking for `TypeFlags::HAS_LATE_BOUND` (or `TypeFlags::HAS_{RE,TY,CT}_LATE_BOUND`). Fixes #115807
2023-09-14Rollup merge of #115832 - Zalathar:fix-no-coverage, r=oli-obkMatthias Krüger-3/+3
Fix the error message for `#![feature(no_coverage)]` When #114656 was written, the feature flag to replace `no_coverage` was originally spelled `coverage`, but it was eventually changed to `coverage_attribute` instead. That update happened to miss this error message in `removed.rs`, and unfortunately I only noticed just *after* the original PR was approved and merged. cc ``@bossmc`` (original author) ``@oli-obk`` (original reviewer) ``@rustbot`` label +A-code-coverage
2023-09-14Rollup merge of #115772 - ouz-a:smir_span2, r=oli-obkMatthias Krüger-8/+34
Improve Span in smir Addressing https://github.com/rust-lang/project-stable-mir/issues/31 r? ``@oli-obk``
2023-09-14Auto merge of #115804 - RalfJung:valtree-to-const-val, r=oli-obkbors-106/+78
consistently pass ty::Const through valtrees Some drive-by things extracted from https://github.com/rust-lang/rust/pull/115748.
2023-09-14Paper over an accidental regressionOli Scherer-15/+24
2023-09-14Auto merge of #115817 - fee1-dead-contrib:fix-codegen, r=oli-obkbors-41/+71
treat host effect params as erased in codegen This fixes the changes brought to codegen tests when effect params are added to libcore, by not attempting to monomorphize functions that get the host param by being `const fn`. r? `@oli-obk`
2023-09-14Auto merge of #112038 - Nemo157:edition-2024-unsafe_op_in_unsafe_fn, r=RalfJungbors-18/+40
Change `unsafe_op_in_unsafe_fn` to be `warn`-by-default from edition 2024 This was previously FCPed: https://github.com/rust-lang/rust/issues/71668#issuecomment-1189396886 There were two blocking requirements: * Fix the `unused_unsafe` lint, done in https://github.com/rust-lang/rust/pull/100081 * Have `cargo fix` able to fix the lint, done in https://github.com/rust-lang/rust/pull/112017
2023-09-14Auto merge of #115764 - RalfJung:const-by-ref-alloc-id, r=oli-obkbors-220/+422
some ConstValue refactoring In particular, use AllocId instead of Allocation in ConstValue::ByRef. This helps avoid redundant AllocIds when a `ByRef` constant gets put back into the interpreter. r? `@oli-obk` Fixes https://github.com/rust-lang/rust/issues/105536
2023-09-14add regression test for something we fixedRalf Jung-0/+31
2023-09-14fix clippy (and MIR printing) handling of ConstValue::Indirect slicesRalf Jung-44/+71
2023-09-14bless allRalf Jung-0/+152
2023-09-14don't force all slice-typed ConstValue to be ConstValue::SliceRalf Jung-54/+36
2023-09-14Auto merge of #115828 - clubby789:clubby-off-vacation, r=lqdbors-1/+1
Remove `clubby789` from `users_on_vacation`
2023-09-14treat host effect params as erased generics in codegenDeadbeef-41/+71
This fixes the changes brought to codegen tests when effect params are added to libcore, by not attempting to monomorphize functions that get the host param by being `const fn`.
2023-09-14Auto merge of #115825 - cjgillot:expr-field-lint, r=compiler-errorsbors-0/+24
Visit ExprField for lint levels. Fixes https://github.com/rust-lang/rust/issues/115823
2023-09-14found another place where we can eval() a const, and go through valtreesRalf Jung-39/+14
2023-09-14always evaluate ConstantKind::Ty through valtreesRalf Jung-16/+12
2023-09-14valtree_to_const_value: add fast-path for Scalar tuples/structsRalf Jung-1/+16
2023-09-14make it more clear which functions create fresh AllocIdRalf Jung-45/+45
2023-09-14cleanup op_to_const a bit; rename ConstValue::ByRef → IndirectRalf Jung-47/+40
2023-09-14use AllocId instead of Allocation in ConstValue::ByRefRalf Jung-63/+80
2023-09-14a bit of cleanup in valtree_to_const_valueRalf Jung-51/+37
2023-09-14Auto merge of #115751 - lcnr:inspect-cleanup, r=compiler-errorsbors-285/+349
some inspect improvements split from #114810 because I still want to experiment a bunch with that PR and these changes are self-contained. r? `@compiler-errors`
2023-09-14Properly consider binder vars in HasTypeFlagsVisitorMichael Goulet-15/+72
2023-09-14Fix the error message for `#![feature(no_coverage)]`Zalathar-3/+3
2023-09-14Auto merge of #114656 - bossmc:rework-no-coverage-attr, r=oli-obkbors-213/+253
Rework `no_coverage` to `coverage(off)` As discussed at the tail of https://github.com/rust-lang/rust/issues/84605 this replaces the `no_coverage` attribute with a `coverage` attribute that takes sub-parameters (currently `off` and `on`) to control the coverage instrumentation. Allows future-proofing for things like `coverage(off, reason="Tested live", issue="#12345")` or similar.
2023-09-14span is indexouz-a-8/+34
2023-09-13Remove `clubby789` from `users_on_vacation`clubby789-1/+1
2023-09-13Auto merge of #115790 - flip1995:clippyup, r=Manishearthbors-1638/+4685
Update Clippy r? `@Manishearth`
2023-09-13Visit ExprField for lint levels.Camille GILLOT-0/+24
2023-09-13Auto merge of #115820 - matthiaskrgr:rollup-kyglvpu, r=matthiaskrgrbors-228/+232
Rollup of 6 pull requests Successful merges: - #115736 (Remove `verbose_generic_activity_with_arg`) - #115771 (cleanup leftovers of const_err lint) - #115798 (add helper method for finding the one non-1-ZST field) - #115812 (Merge settings.css into rustdoc.css) - #115815 (fix: return early when has tainted in mir pass) - #115816 (Disabled socketpair for Vita) r? `@ghost` `@rustbot` modify labels: rollup
2023-09-13Rollup merge of #115816 - vita-rust:vita, r=cuviperMatthias Krüger-2/+2
Disabled socketpair for Vita There is no `socketpair` syscall in Vita newlib. This is reflected in a rust-lang/libc#3284, in which this method is removed for vita target. Also, we would need the fixes from the abovementioned PR for sockets in std (previously we had some incorrect constant values), but that can be done separately when rust-lang/libc#3284 is reviewed, merged, and released.
2023-09-13Rollup merge of #115815 - bvanjoi:fix-115809, r=oli-obkMatthias Krüger-0/+37
fix: return early when has tainted in mir pass Fixes https://github.com/rust-lang/rust/issues/115809 As in #115643, `run_pass` is skipped if the body has tainted errors. r? `@oli-obk`
2023-09-13Rollup merge of #115812 - GuillaumeGomez:merge-settings-into-rustdoc-css, ↵Matthias Krüger-76/+64
r=notriddle Merge settings.css into rustdoc.css There aren't that many CSS rules in `settings.css`, however quite some code is needed around it, making it more costly than useful. I think it's better to merge into `rustdoc.css` to simplify this. r? `@notriddle`
2023-09-13Rollup merge of #115798 - RalfJung:non_1zst_field, r=wesleywiserMatthias Krüger-89/+49
add helper method for finding the one non-1-ZST field
2023-09-13Rollup merge of #115771 - RalfJung:no-more-const-err-lint, r=oli-obkMatthias Krüger-31/+16
cleanup leftovers of const_err lint Some code / comments seem to not have been updated when const_err was turned into a hard error, so we can do a bit of cleanup here. r? `@oli-obk`
2023-09-13Rollup merge of #115736 - Zoxc:time-cleanup, r=wesleywiserMatthias Krüger-30/+64
Remove `verbose_generic_activity_with_arg` This removes `verbose_generic_activity_with_arg` and changes users to `generic_activity_with_arg`. This keeps the output of `-Z time` readable while these repeated events are still available with the self profiling mechanism.
2023-09-13Auto merge of #115797 - cjgillot:const-prop-noclone, r=oli-obkbors-133/+111
Do not clone the Body for ConstProp ~Based on https://github.com/rust-lang/rust/pull/115748 for the `POST_MONO_CHECKS` flag.~
2023-09-13fix: skip opt if body has tainted errorbohan-0/+37
2023-09-13Auto merge of #115803 - RalfJung:const-eval, r=oli-obkbors-351/+243
make the eval() functions on our const types return the resulting value This is a part of https://github.com/rust-lang/rust/pull/115748 that's hopefully perf-neutral, and that does not depend on https://github.com/rust-lang/rust/pull/115764.
2023-09-13Disabled socketpair for VitaNikolay Arhipov-2/+2
2023-09-13Auto merge of #115269 - bvanjoi:fix-113834, r=petrochenkovbors-80/+154
resolve: mark binding is determined after all macros had been expanded Fixes #113834 Fixes #115377 r? `@petrochenkov`
2023-09-13Merge settings.css into rustdoc.cssGuillaume Gomez-76/+64
2023-09-13Bring back `verbose_generic_activity_with_arg`John Kåre Alsaker-0/+19
2023-09-13Generate MIR pass names for profiling on the fly and pass the body DefId as ↵John Kåre Alsaker-4/+47
argument
2023-09-13Auto merge of #115735 - bjorn3:better_list_crate_metadata, r=wesleywiserbors-31/+206
Extend rustc -Zls This makes it show a lot more things and thus a lot more useful.
2023-09-13restore the old logic adjusting ty::UnevaluatedConst before evaluationRalf Jung-29/+41