about summary refs log tree commit diff
path: root/tests/crashes
AgeCommit message (Collapse)AuthorLines
2024-12-14Add a regression test for #134162许杰友 Jieyou Xu (Joe)-8/+0
2024-12-14Rollup merge of #134256 - krtab:suggestion_overlapping, r=petrochenkovMatthias Krüger-5/+0
Use a more precise span in placeholder_type_error_diag Closes: https://github.com/rust-lang/rust/issues/123861
2024-12-14Rollup merge of #134236 - matthiaskrgr:tests12122024, r=compiler-errorsMatthias Krüger-0/+122
crashes: more tests v2 try-job: aarch64-apple try-job: x86_64-msvc try-job: x86_64-gnu
2024-12-13Use a more precise span in placeholder_type_error_diagArthur Carcano-5/+0
Closes: https://github.com/rust-lang/rust/issues/123861
2024-12-12crashes: more tests v2Matthias Krüger-0/+122
2024-12-12crashes: more testsMatthias Krüger-0/+113
2024-12-12Auto merge of #132789 - matthiaskrgr:debug_tests, r=jieyouxubors-0/+146
add some debug-assertion crash tests r? ghost try-job: x86_64-gnu
2024-12-11Auto merge of #128004 - folkertdev:naked-fn-asm, r=Amanieubors-11/+0
codegen `#[naked]` functions using global asm tracking issue: https://github.com/rust-lang/rust/issues/90957 Fixes #124375 This implements the approach suggested in the tracking issue: use the existing global assembly infrastructure to emit the body of `#[naked]` functions. The main advantage is that we now have full control over what gets generated, and are no longer dependent on LLVM not sneakily messing with our output (inlining, adding extra instructions, etc). I discussed this approach with `@Amanieu` and while I think the general direction is correct, there is probably a bunch of stuff that needs to change or move around here. I'll leave some inline comments on things that I'm not sure about. Combined with https://github.com/rust-lang/rust/pull/127853, if both accepted, I think that resolves all steps from the tracking issue. r? `@Amanieu`
2024-12-10codegen `#[naked]` functions using `global_asm!`Folkert-11/+0
2024-12-09dataflow_const_prop: do not eval a ptr address in SwitchIntDianQK-16/+0
2024-12-09Rollup merge of #134036 - matthiaskrgr:opppt, r=saethlinMatthias Krüger-7/+7
crash tests: use individual mir opts instead of mir-opt-level where easily possible r? `@saethlin`
2024-12-08crash tests: use individual mir opts instead of mir-opt-level where easily ↵Matthias Krüger-7/+7
possible
2024-12-08add some debug-assertion crash testsMatthias Krüger-0/+146
2024-12-08crashes: add test for #131451Matthias Krüger-0/+9
2024-12-07Auto merge of #133978 - matthiaskrgr:rollup-6gh1iho, r=matthiaskrgrbors-4/+0
Rollup of 7 pull requests Successful merges: - #130209 (Stabilize `std::io::ErrorKind::CrossesDevices`) - #130254 (Stabilize `std::io::ErrorKind::QuotaExceeded`) - #132187 (Add Extend impls for tuples of arity 1 through 12) - #133875 (handle `--json-output` properly) - #133934 (Do not implement unsafe auto traits for types with unsafe fields) - #133954 (Hide errors whose suggestions would contain error constants or types) - #133960 (rustdoc: remove eq for clean::Attributes) r? `@ghost` `@rustbot` modify labels: rollup
2024-12-06Remove polymorphizationBen Kimock-93/+0
2024-12-06Silence follow-up errors from `lit_to_const`Oli Scherer-4/+0
2024-12-05Stabilize noop_wakerEric Holk-1/+1
Co-authored-by: zachs18 <8355914+zachs18@users.noreply.github.com>
2024-12-05fix issue 132391Folkert de Vries-8/+0
2024-12-04Auto merge of #133818 - matthiaskrgr:rollup-iav1wq7, r=matthiaskrgrbors-43/+0
Rollup of 7 pull requests Successful merges: - #132937 (a release operation synchronizes with an acquire operation) - #133681 (improve TagEncoding::Niche docs, sanity check, and UB checks) - #133726 (Add `core::arch::breakpoint` and test) - #133768 (Remove `generic_associated_types_extended` feature gate) - #133811 ([AIX] change AIX default codemodel=large) - #133812 (Update wasm-component-ld to 0.5.11) - #133813 (compiletest: explain that UI tests are expected not to compile by default) r? `@ghost` `@rustbot` modify labels: rollup
2024-12-03Rollup merge of #133768 - compiler-errors:gate, r=lcnr,jackh726Matthias Krüger-13/+0
Remove `generic_associated_types_extended` feature gate This PR retires nightly support for the `generic_associated_types_extended` feature. This feature hasn't received much attention in the last two years or so, and I believe the feature still remains both unsound and ICEy to use. I think that if we were to redesign and reimplement it, we'd want to first figure out how to implement it soundly, but in the mean time I'd prefer to clean this up. r? ``@lcnr`` cc ``@jackh726`` who added this feature gate I think
2024-12-03Rollup merge of #133681 - RalfJung:niches, r=wesleywiserMatthias Krüger-30/+0
improve TagEncoding::Niche docs, sanity check, and UB checks Turns out the `niche_variants` range can actually contain the `untagged_variant`. We should report this as UB in Miri, so this PR implements that. Also rename `partially_check_layout` to `layout_sanity_check` for better consistency with how similar functions are called in other parts of the compiler. Turns out my adjustments to the transmutation logic also fix https://github.com/rust-lang/rust/issues/126267.
2024-12-03Remove generic_associated_types_extended feature gateMichael Goulet-13/+0
2024-12-03Rollup merge of #133558 - compiler-errors:structurally-resolve-probe-adt, r=lcnrMatthias Krüger-15/+0
Structurally resolve in `probe_adt` fixes #132320 r? lcnr
2024-12-03Rollup merge of #132612 - compiler-errors:async-trait-bounds, r=lcnrMatthias Krüger-2/+2
Gate async fn trait bound modifier on `async_trait_bounds` This PR moves `async Fn()` trait bounds into a new feature gate: `feature(async_trait_bounds)`. The general vibe is that we will most likely stabilize the `feature(async_closure)` *without* the `async Fn()` trait bound modifier, so we need to gate that separately. We're trying to work on the general vision of `async` trait bound modifier general in: https://github.com/rust-lang/rfcs/pull/3710, however that RFC still needs more time for consensus to converge, and we've decided that the value that users get from calling the bound `async Fn()` is *not really* worth blocking landing async closures in general.
2024-12-02Structurally resolve in probe_adtMichael Goulet-15/+0
2024-12-02Rollup merge of #133704 - RalfJung:promoted-size-overflow-ice, r=compiler-errorsGuillaume Gomez-4/+0
fix ICE when promoted has layout size overflow Turns out there is no reason to distinguish `tainted_by_errors` and `can_be_spurious` here, we can just track whether we allow this even in "infallible" constants. Fixes https://github.com/rust-lang/rust/issues/125476
2024-12-02Move `Const::{from_anon_const,try_from_lit}` to hir_ty_loweringNoah Lev-20/+4
These operations are much more about lowering the HIR than about `Const`s themselves. They fit better in hir_ty_lowering with `lower_const_arg` (formerly `Const::from_const_arg`) and the rest. To accomplish this, `const_evaluatable_predicates_of` had to be changed to not use `from_anon_const` anymore. Instead of visiting the HIR and lowering anon consts on the fly, it now visits the `rustc_middle::ty` data structures instead and directly looks for `UnevaluatedConst`s. This approach was proposed in: https://github.com/rust-lang/rust/pull/131081#discussion_r1821189257
2024-12-02Gate async fn trait bound modifier on async_trait_boundsMichael Goulet-2/+2
2024-12-01Fix #128346Caio-13/+0
2024-12-01fix ICE when promoted has layout size overflowRalf Jung-4/+0
2024-12-01fix safe-transmute handling of enumsRalf Jung-30/+0
2024-12-01Auto merge of #133694 - matthiaskrgr:rollup-s6xj4rf, r=matthiaskrgrbors-12/+0
Rollup of 8 pull requests Successful merges: - #128184 (std: refactor `pthread`-based synchronization) - #132047 (Robustify and genericize return-type-notation resolution in `resolve_bound_vars`) - #133515 (fix: hurd build, stat64.st_fsid was renamed to st_dev) - #133602 (fix: fix codeblocks in `PathBuf` example) - #133622 (update link to "C++ Exceptions under the hood" blog) - #133660 (Do not create trait object type if missing associated types) - #133686 (Add diagnostic item for `std::ops::ControlFlow`) - #133689 (Fixed typos by changing `happend` to `happened`) r? `@ghost` `@rustbot` modify labels: rollup
2024-12-01Rollup merge of #133660 - compiler-errors:trait-obj-missing-assoc, r=lcnrMatthias Krüger-12/+0
Do not create trait object type if missing associated types r? lcnr
2024-12-01Auto merge of #133499 - nikic:no-backend-verify, r=Mark-Simulacrumbors-10/+1
Respect verify-llvm-ir option in the backend We are currently unconditionally verifying the LLVM IR in the backend (twice), ignoring the value of the verify-llvm-ir option. This has substantial compile-time impact for debug builds.
2024-11-30Do not create trait object type if missing associated typesMichael Goulet-12/+0
2024-11-30Make compare_impl_item into a queryMichael Goulet-191/+0
2024-11-29Fix tests that rely on LLVM IR verificationNikita Popov-10/+1
Pass -Z verify-llvm-ir to tests that rely on it, to make sure they pass regardless of the value of verify-llvm-ir in config.toml. Also remove the 109681.rs test, because it is a duplicat of common-linkage-non-zero-init.rs.
2024-11-28Rollup merge of #133368 - ↵Guillaume Gomez-18/+0
compiler-errors:codegen-select-unconstrained-params, r=lcnr Delay a bug when encountering an impl with unconstrained generics in `codegen_select` Despite its name, `codegen_select` is what powers `Instance::try_resolve`, which is used in pre-codegen contexts to try to resolve a method where possible. One place that it's used is in the "recursion MIR lint" that detects recursive MIR bodies. If we encounter an impl in `codegen_select` that contains unconstrained generic parameters, we expect that impl to caused an error to be reported; however, there's no temporal guarantee that this error is reported *before* we call `codegen_select`. This is what a delayed bug is *for*, and this PR makes us use a delayed bug rather than asserting something about errors already having been emitted. Fixes #126646
2024-11-27Rollup merge of #133493 - lcnr:fulfill-fudge, r=compiler-errorsMatthias Krüger-15/+0
do not constrain infer vars in `find_best_leaf_obligation` This ended up causing an ICE by making the following code path reachable by incorrectly constraining an inference variable while computing the best obligation for a preceding ambiguity. Closes #129444. https://github.com/rust-lang/rust/blob/f2abf827c128120ed7a874d02973947968c158b8/compiler/rustc_trait_selection/src/solve/fulfill.rs#L312-L314 I have to be honest, I don't fully understand how that change removes all the additional diagnostics :3 r? `@compiler-errors`
2024-11-26Rollup merge of #133394 - compiler-errors:dyn-more-errors, r=lcnrMichael Goulet-1/+1
Bail on more errors in dyn ty lowering If we have more than one principal trait, or if we have a principal trait with errors in it, then bail with `TyKind::Error` rather than attempting lowering. Lowering a dyn trait with more than one principal just arbitrarily chooses the first one and drops the subsequent ones, and lowering a dyn trait path with errors in it is just kinda useless. This suppresses unnecessary errors which I think is net-good, but also is important to make sure that we don't end up leaking `{type error}` in https://github.com/rust-lang/rust/issues/133388 error messaging :) r? types
2024-11-26update crasheslcnr-15/+0
2024-11-24Simplify array length mismatch error reportingMichael Goulet-21/+0
2024-11-23Dont create trait object if it has errors in itMichael Goulet-1/+1
2024-11-23Delay a bug when encountering an impl with unconstrained generics in ↵Michael Goulet-18/+0
codegen_select
2024-11-22Rollup merge of #132090 - compiler-errors:baily, r=lcnrMichael Goulet-127/+1
Stop being so bail-y in candidate assembly A conceptual follow-up to #132084. We gotta stop bailing so much when there are errors; it's both unnecessary, leads to weird knock-on errors, and it's messing up the vibes lol
2024-11-22Stabilize the 2024 editionEric Huss-1/+1
2024-11-21Stop being so bail-y in candidate assemblyMichael Goulet-127/+1
2024-11-20Make PointerLike opt-in as a traitMichael Goulet-24/+0
2024-11-19Auto merge of #133205 - matthiaskrgr:rollup-xhhhp5u, r=matthiaskrgrbors-0/+23
Rollup of 4 pull requests Successful merges: - #131081 (Use `ConstArgKind::Path` for all single-segment paths, not just params under `min_generic_const_args`) - #132577 (Report the `unexpected_cfgs` lint in external macros) - #133023 (Merge `-Zhir-stats` into `-Zinput-stats`) - #133200 (ignore an occasionally-failing test in Miri) r? `@ghost` `@rustbot` modify labels: rollup