Matthias Krüger
ceb7b5e70e
Rollup merge of #124293 - oli-obk:miri_intrinsic_fallback_body, r=RalfJung
...
Let miri and const eval execute intrinsics' fallback bodies
fixes https://github.com/rust-lang/miri/issues/3397
r? ``@RalfJung``
2024-05-04 12:37:22 +02:00
Matthias Krüger
bd305e10c2
Rollup merge of #124510 - linyihai:raw-ident-in-typo-suggestion, r=fmease
...
Add raw identifier in a typo suggestion
Fixes #68962
2024-05-03 20:33:45 +02:00
Oli Scherer
821d23b329
Ensure miri only uses fallback bodies that have manually been vetted to preserve all UB that the native intrinsic would have
2024-05-03 09:16:57 +00:00
Santiago Pastorino
f06e0f7837
Add StaticForeignItem and use it on ForeignItemKind
2024-04-29 13:15:51 -03:00
Lin Yihai
589c2fe24d
Add raw identifier in a typo suggestion
2024-04-29 15:02:12 +08:00
bors
1fffb2a355
Auto merge of #124431 - chenyukang:yukang-fix-rustdoc-124363, r=Nadrieril
...
Fix the assertion crash from rustdoc document indent widths
Fixes #124363
2024-04-28 21:20:07 +00:00
yukang
6faedd381b
Fix the assertion crash from rustdoc document indent widths
2024-04-28 11:17:09 +08:00
Matthias Krüger
cf07246ae9
Rollup merge of #124382 - petrochenkov:itemvisit, r=lcnr
...
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-27 07:55:37 +02:00
Jacob Pratt
608f71ec66
Rollup merge of #124391 - nnethercote:builtin_macros-cleanups, r=fee1-dead
...
`rustc_builtin_macros` cleanups
Some improvements I found while looking over this code.
r? ``@fee1-dead``
2024-04-26 19:25:55 -04:00
Nicholas Nethercote
e2d2b1c698
Introduce DeriveResolution
.
...
Making this a proper struct, and giving its fields names, makes things
easier to understand.
2024-04-26 07:55:21 +10:00
Vadim Petrochenkov
5be9fdd636
ast: Generalize item kind visiting
...
And avoid duplicating logic for visiting `Item`s with different kinds (regular, associated, foreign).
2024-04-25 22:49:58 +03:00
Vadim Petrochenkov
0c0833d750
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-24 19:59:06 +03:00
Vadim Petrochenkov
7b7c26f09b
delegation: Support async, const, extern "ABI" and C-variadic functions
...
Also allow `impl Trait` in delegated functions.
The delegation item will refer to the original opaque type from the callee, fresh opaque type won't be created.
2024-04-23 23:05:39 +03:00
León Orell Valerian Liehr
6e423e1651
Rollup merge of #124218 - Xiretza:subsubdiagnostics, r=davidtwco
...
Allow nesting subdiagnostics in #[derive(Subdiagnostic)]
2024-04-23 17:25:17 +02:00
Matthias Krüger
36316df9fe
Rollup merge of #124067 - RalfJung:weak-lang-items, r=davidtwco
...
weak lang items are not allowed to be #[track_caller]
For instance the panic handler will be called via this import
```rust
extern "Rust" {
#[lang = "panic_impl"]
fn panic_impl(pi: &PanicInfo<'_>) -> !;
}
```
A `#[track_caller]` would add an extra argument and thus make this the wrong signature.
The 2nd commit is a consistency rename; based on the docs [here](https://doc.rust-lang.org/unstable-book/language-features/lang-items.html ) and [here](https://rustc-dev-guide.rust-lang.org/lang-items.html ) I figured "lang item" is more widely used. (In the compiler output, "lang item" and "language item" seem to be pretty even.)
2024-04-23 12:10:25 +02:00
Xiretza
6974e9cf70
Move "elided lifetime in path" to subdiagnostic struct
...
This requires nested subdiagnostics.
2024-04-21 07:45:03 +00:00
Jules Bertholet
2a4624ddd1
Rename BindingAnnotation
to BindingMode
2024-04-17 09:34:39 -04:00
Ralf Jung
8b35be741f
consistency rename: language item -> lang item
2024-04-17 13:00:43 +02:00
Michael Goulet
ac7651ccaf
More polishing
2024-04-15 16:45:48 -04:00
Michael Goulet
52c6b101ea
Use a path instead of an ident (and stop manually resolving)
2024-04-15 16:45:26 -04:00
Michael Goulet
42ba57c013
Validation and other things
2024-04-15 16:45:01 -04:00
Michael Goulet
c897092654
Implement resolution, parse use<Self>
2024-04-15 16:45:01 -04:00
Michael Goulet
fc9e344874
Use dedicated PreciseCapturingArg for representing what goes in use<>
2024-04-15 16:45:01 -04:00
Michael Goulet
a076eae0d2
Parsing , pre-lowering support for precise captures
2024-04-15 16:45:01 -04:00
Pietro Albini
2d3a9a5847
remove braces when fixing a nested use tree into a single use
2024-04-14 18:45:30 +02:00
Pietro Albini
13f76235b3
store the span of the nested part of the use tree in the ast
2024-04-14 18:45:28 +02:00
Pietro Albini
2ec337c193
turn all_nested_unused into used_childs
2024-04-14 18:45:27 +02:00
Pietro Albini
2c26072d8c
remove redundant flat vs nested distinction to simplify enum
2024-04-14 18:45:25 +02:00
Pietro Albini
829338a640
add enum variant field names to make the code clearer
2024-04-14 18:45:23 +02:00
Jean CASPAR
992c505021
Reorder error messages
2024-04-13 15:11:09 +01:00
Jean CASPAR
cec9f7f716
Migrate more diagnostics
2024-04-13 14:50:25 +01:00
Jean CASPAR
4226dc2045
Migrate some diagnostics
2024-04-13 14:50:25 +01:00
JeanCASPAR
e4f4e58dc3
Port build_reduce_graph
2024-04-13 14:50:25 +01:00
Matthias Krüger
ffea7e2a9b
Rollup merge of #123204 - notriddle:notriddle/include-str-span, r=pnkfelix
...
rustdoc: point at span in `include_str!`-ed md file
Fixes #118549
2024-04-12 17:41:32 +02:00
Michael Goulet
0db2a4010a
Silence unused_imports lint for redundant imports
2024-04-11 14:38:21 -04:00
Jacob Pratt
819568a7b4
Rollup merge of #123307 - tgross35:f16-f128-feature-gate-fix, r=petrochenkov
...
Fix f16 and f128 feature gating on different editions
Apply the fix from https://github.com/rust-lang/rust/issues/123282#issuecomment-2035063388 to correctly gates `f16` and `f128` in editions other than 2015
2024-04-03 20:17:05 -04:00
Trevor Gross
5afe072ead
Fix f16 and f128 feature gates in editions other than 2015
...
Fixes https://github.com/rust-lang/rust/issues/123282
Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>
2024-04-03 16:03:22 -04:00
Vadim Petrochenkov
b40ea03f8a
rustc_index: Add a ZERO
constant to index types
...
It is commonly used.
2024-04-03 19:06:22 +03:00
Michael Howell
98642da6a9
rustdoc: point at span in include_str!
-ed md file
2024-03-29 13:31:35 -07:00
bohan
90306cd841
remove def_id_to_node_id
in ast lowering
2024-03-28 16:58:03 +08:00
Oli Scherer
150a5e5f92
Do not sort DefId
s in diagnostics
2024-03-27 14:02:16 +00:00
Matthias Krüger
4d1fb9e98a
Rollup merge of #123091 - Bryanskiy:delegation-fixes, r=petrochenkov
...
Delegation: fix ICE on wrong `self` resolution
fixes https://github.com/rust-lang/rust/issues/122874
Delegation item should be wrapped in a `rib` to behave like a regular function during name resolution.
r? `@petrochenkov`
2024-03-26 17:06:43 +01:00
Matthias Krüger
03f5c4f05f
Rollup merge of #122766 - bvanjoi:fix-115185, r=petrochenkov
...
store segment and module in `UnresolvedImportError`
Fixes #115185
An easy fix. r? `@Nilstrieb`
2024-03-26 17:06:38 +01:00
Bryanskiy
17c6101864
Delegation: fix ICE on wrong self
resolution
2024-03-26 14:00:51 +03:00
Michael Goulet
a4db3ffdcb
Don't suggest deref macro since it's unstable
2024-03-21 11:42:49 -04:00
bors
6e1f7b538a
Auto merge of #121587 - ShoyuVanilla:fix-issue-121267, r=TaKO8Ki
...
Fix bad span for explicit lifetime suggestions
Fixes #121267
Current explicit lifetime suggestions are not showing correct spans for some lifetimes - e.g. elided lifetime generic parameters;
This should be done correctly regarding elided lifetime kind like the following code
43fdd4916d/compiler/rustc_resolve/src/late/diagnostics.rs (L3015-L3044)
2024-03-21 04:11:09 +00:00
Shoyu Vanilla
c270a42fea
Fix bad span for explicit lifetime suggestion
...
Move verbose logic to a function
Minor renaming
2024-03-21 10:31:04 +09:00
Alex Macleod
a8452461dc
Ignore paths from expansion in unused_qualifications
2024-03-20 16:30:26 +00:00
bohan
7f45f53204
store segment and module in UnresolvedImportError
2024-03-20 18:04:47 +08:00
Matthias Krüger
489c2e9918
Rollup merge of #122435 - jieyouxu:unused_qualifications_global_paths, r=petrochenkov
...
Don't trigger `unused_qualifications` on global paths
Fixes #122374 .
2024-03-19 18:03:49 +01:00