Commit graph

28590 commits

Author SHA1 Message Date
Michael Goulet
2ffaeb5110 Rename both of the Match relations 2023-10-02 21:06:09 +00:00
ouz-a
5d753abb30 have better explanation for relate_types 2023-10-02 23:39:45 +03:00
ouz-a
6f0c5ee2d4 change is_subtype to relate_types 2023-10-02 23:39:45 +03:00
ouz-a
cd7f471931 Add docs, remove code, change subtyper code 2023-10-02 23:39:44 +03:00
ouz-a
3148e6a993 subtyping_projections 2023-10-02 23:37:49 +03:00
Tyler Mandry
af77806bee
Rollup merge of #114454 - Nilstrieb:no-evil-sorting, r=cjgillot
Replace `HashMap` with `IndexMap` in pattern binding resolve

fixes https://github.com/rust-lang/rust/pull/114332#discussion_r1284189179
2023-10-02 16:09:42 -04:00
Lukas Wirth
2d73d30a3c Fix incorrect inlining of RangeInclusive::size_hint 2023-10-02 21:31:16 +02:00
Lukas Wirth
b25c84510d Add some docs regarding rustc_abi rust-analyzer compat changes 2023-10-02 21:31:16 +02:00
Lukas Wirth
6d141c11c0 Implement Deref<LayoutS> for Layout 2023-10-02 21:31:16 +02:00
Lukas Wirth
67e5eb6cec Cfg out ReprOption::field_shuffle_seed 2023-10-02 21:31:16 +02:00
Lukas Wirth
e8a2673159 Add VariantIdx back 2023-10-02 21:31:16 +02:00
Lukas Wirth
f14b7c9443 Move FieldIdx and Layout to rustc_target 2023-10-02 21:31:16 +02:00
Lukas Wirth
b47ad3b744 Bring back generic FieldIdx 2023-10-02 21:31:11 +02:00
Lukas Wirth
3b99d73f5a Unglob rustc_abi imports 2023-10-02 21:29:19 +02:00
Nilstrieb
6ca07235a6 Replace HashMap with IndexMap in pattern binding resolve
It will be iterated over, so we should avoid using `HashMap`.
2023-10-02 19:12:42 +02:00
Matthias Krüger
cfe9e13627
Rollup merge of #116340 - lcnr:early-binder-skip_binder, r=compiler-errors
`skip_binder` to `instantiate_identity`
2023-10-02 16:23:54 +02:00
Matthias Krüger
e51a2aaa4e
Rollup merge of #116313 - nnethercote:rustc_abi, r=the8472
Some small cleanups in `rustc_abi`

Minor things I found while looking at this crate's code.

r? `@the8472`
2023-10-02 16:23:53 +02:00
Chinedu Francis Nwafili
bf4df0617f
Tidy 2023-10-02 10:08:03 -04:00
Chinedu Francis Nwafili
9bb55a038f
Tidy 2023-10-02 09:54:45 -04:00
Chinedu Francis Nwafili
67379c4006
Address misc feedback 2023-10-02 08:59:31 -04:00
lcnr
dbc2cc8717 skip_binder to instantiate_identity 2023-10-02 13:19:37 +02:00
Nikita Popov
5bcf4f26ac Limit to LLVM 17.0.2 to work around WinEH codegen bug 2023-10-02 11:06:38 +02:00
Erik Desjardins
31ee8b1818 Reapply: Mark drop calls in landing pads cold instead of noinline
Co-authored-by: Max Fan <git@max.fan>
Co-authored-by: Nikita Popov <npopov@redhat.com>
2023-10-02 10:37:53 +02:00
Ralf Jung
8dc92a360c remove another unused Key impl 2023-10-02 09:49:45 +02:00
bors
781ebbec8a Auto merge of #115898 - onur-ozkan:config-change-tracking, r=Mark-Simulacrum
bootstrap major change detection implementation

The use of `changelog-seen` and `bootstrap/CHANGELOG.md` has not been functional in any way for many years. We often do major/breaking changes but never update the changelog file or the `changelog-seen`. This is an alternative method for tracking major or breaking changes and informing developers when such changes occur.

Example output when bootstrap detects a major change:
![image](https://github.com/rust-lang/rust/assets/39852038/ee802dfa-a02b-488b-a433-f853ce079b8a)
2023-10-02 07:41:52 +00:00
Ralf Jung
a648c26c2c remove Key impls for types that involve an AllocId 2023-10-02 09:01:51 +02:00
Ralf Jung
bfc0f23acb MIRI -> Miri 2023-10-02 08:35:08 +02:00
Nicholas Nethercote
57397de2c9 Fix a comment.
Compiling any part of the compiler will almost certainly require
Nightly.
2023-10-02 16:47:11 +11:00
Nicholas Nethercote
5f4177a786 Factor out common token generation in fluent_messages.
The failure and success cases are similar enough that they can share
code.
2023-10-02 16:47:10 +11:00
Nicholas Nethercote
17e3793eb1 Name some local variables more consistently.
By making every `alt_foo` exactly match a `foo`.
2023-10-02 09:12:47 +11:00
bors
e0d7ed1f45 Auto merge of #116281 - Nadrieril:eager-const-eval, r=cjgillot
Cleanup number handling in match exhaustiveness

Doing a little bit of cleanup; handling number constants was somewhat messy. In particular, this:

- evals float consts once instead of repetitively
- reduces `Constructor` from 88 bytes to 56 (`mir::Const` is big!)

The `fast_try_eval_bits` function was mostly constructed from inlining existing code but I don't fully understand it; I don't follow how consts work and are evaluated very well.
2023-10-01 22:01:44 +00:00
Nadrieril
eac7bcde5f Move eval_bits optimization upstream 2023-10-01 21:12:24 +02:00
bors
0e1dd179f1 Auto merge of #116259 - nnethercote:entry_point_type, r=cjgillot
Factor out duplicated `entry_point_type` functions

A small but nice cleanup.
2023-10-01 18:27:00 +00:00
bors
16b7b39fdd Auto merge of #116228 - bvanjoi:fix-116164, r=cjgillot
resolve: skip underscore character during candidate lookup

Fixes #116164

In use statement, an underscore is merely a placeholder symbol and does not bind to any name. Therefore, it can be safely ignored.
2023-10-01 16:41:03 +00:00
bors
6c29b45439 Auto merge of #116224 - nnethercote:rustc_arena-overhaul, r=cjgillot
`rustc_arena` overhaul

I find the `rustc_arena` a bit hard to read. These commits make it better.

r? `@cjgillot`
2023-10-01 14:38:51 +00:00
onur-ozkan
957de61594 implement major change tracking for the bootstrap configuration
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-10-01 16:54:52 +03:00
Nicholas Nethercote
2369adc5d8 Remove unnecessary pubs. 2023-10-01 21:57:09 +11:00
Nicholas Nethercote
ddb742225a Rename two parsing closures.
To match `parse_address_space` and `parse_bits` above.
2023-10-01 21:57:09 +11:00
Nicholas Nethercote
86ecfdd605 Minor comment and whitespace tweaks. 2023-10-01 21:57:06 +11:00
Nicholas Nethercote
7326cd98b9 Factor out the two entry_point_type functions.
They are very similar, and each one has a comment about the importance
of being kept in sync with the other. This commit removes the
duplication.
2023-10-01 20:45:09 +11:00
bors
8fa7bdf191 Auto merge of #115670 - Zoxc:outline-panic-macro-1, r=Mark-Simulacrum
Partially outline code inside the panic! macro

This outlines code inside the panic! macro in some cases. This is split out from https://github.com/rust-lang/rust/pull/115562 to exclude changes to rustc.
2023-10-01 05:56:47 +00:00
Raekye
884af362f2 Validate ~const trait bounds on associated fns.
Previously, any associated function could have `~const` trait bounds on
generic parameters, which could lead to ICEs when these bounds were used
on associated functions of non-`#[const_trait] trait` or
non-`impl const` blocks.

Includes changes as per @fee1-dead's comments in #116210.
2023-09-30 19:00:45 -04:00
Nadrieril
0a6d794d0b Cleanup number literal evaluation 2023-10-01 00:00:38 +02:00
Nadrieril
d6e9b321b3 No need to carry bias in IntRange 2023-10-01 00:00:38 +02:00
Nadrieril
fac50e8fb3 Evaluate float consts eagerly 2023-10-01 00:00:37 +02:00
Ralf Jung
13e58755d7 add some docs to hooks/mod.rs 2023-09-30 22:33:22 +02:00
ouz-a
999a354a81 add span to terminator 2023-09-30 16:52:10 +03:00
ouz-a
9130484db9 create localdecl and add span to it 2023-09-30 16:40:15 +03:00
bors
75d731eee9 Auto merge of #116254 - WaffleLapkin:nicen-traversal, r=cjgillot
Assorted improvements for `rustc_middle::mir::traversal`

r? `@cjgillot`

I'm not _entirely_ sure about all changes, although I do like all of them. If you'd like I can drop some commits. Best reviewed on a commit-by-commit basis, I think, since they are fairly isolated.
2023-09-30 12:38:12 +00:00
Ralf Jung
acb7c21507 dont call mir.post_mono_checks in codegen 2023-09-30 07:38:08 +02:00