Camille GILLOT
8a7ae23f75
Properly substitute inherent associated types.
2022-12-03 19:08:00 +00:00
Lukas Markeffsky
35c00a9731
suggest parenthesis around ExprWithBlock BinOp ExprWithBlock
2022-12-03 20:02:39 +01:00
Matthias Krüger
af8f72292b
Rollup merge of #105208 - chenyukang:yukang/fix-105069, r=cjgillot
...
Add AmbiguityError for inconsistent resolution for an import
Fixes #105069
Fixes #83950
2022-12-03 17:37:45 +01:00
Matthias Krüger
f91fa512d1
Rollup merge of #105201 - cjgillot:issue-105040, r=compiler-errors
...
Do not call fn_sig on non-functions.
Fixes https://github.com/rust-lang/rust/issues/105040
Fixes https://github.com/rust-lang/rust/issues/89271
2022-12-03 17:37:45 +01:00
Matthias Krüger
b1e680650e
Rollup merge of #105200 - cjgillot:issue-104562, r=compiler-errors
...
Remove useless filter in unused extern crate check.
Fixes https://github.com/rust-lang/rust/issues/104562
2022-12-03 17:37:44 +01:00
Matthias Krüger
ed9a21eb0c
Rollup merge of #105193 - tmiasko:naked-nocoverage, r=wesleywiser
...
Disable coverage instrumentation for naked functions
Fixes #105170 .
2022-12-03 17:37:44 +01:00
Matthias Krüger
a739fc8153
Rollup merge of #105164 - compiler-errors:revert-import-filter, r=estebank
...
Restore `use` suggestion for `dyn` method call requiring `Sized`
Add the suggestion back that I accidentally removed in 88f2140d87
because I didn't understand that suggestion was actually useful...
Fixes #105159
2022-12-03 17:37:43 +01:00
Matthias Krüger
1a2f79b82c
Rollup merge of #105050 - WaffleLapkin:uselessrefign, r=jyn514
...
Remove useless borrows and derefs
They are nothing more than noise.
<sub>These are not all of them, but my clippy started crashing (stack overflow), so rip :(</sub>
2022-12-03 17:37:42 +01:00
Matthias Krüger
c89bff29e5
Rollup merge of #104199 - SarthakSingh31:issue-97417-1, r=cjgillot
...
Keep track of the start of the argument block of a closure
This removes a call to `tcx.sess.source_map()` from [compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs](https://github.com/rust-lang/rust/compare/master...SarthakSingh31:issue-97417-1?expand=1#diff-8406bbc0d0b43d84c91b1933305df896ecdba0d1f9269e6744f13d87a2ab268a ) as required by #97417 .
VsCode automatically applied `rustfmt` to the files I edited under `src/tools`. I can undo that if its a problem.
r? `@cjgillot`
2022-12-03 17:37:41 +01:00
bors
cab4fd678c
Auto merge of #97485 - bjorn3:new_archive_writer, r=wesleywiser
...
Rewrite LLVM's archive writer in Rust
This allows it to be used by other codegen backends.
Fixes https://github.com/bjorn3/rustc_codegen_cranelift/issues/1155
2022-12-03 15:07:39 +00:00
Yutaro Ohno
e4812583c7
parser: refactoring on recovery from invalid variable declarations
...
Previously, the `recover_local_after_let` function was called from the
body of the `recover_stmt_local` function. Unifying these two functions
make it more simple and more readable.
2022-12-03 23:41:42 +09:00
yukang
fb004e9a95
fix #101749 , use . instead of :: when accessing a method of an object
2022-12-03 22:41:12 +08:00
yukang
795b2afd20
fix #105069 , Add AmbiguityError for inconsistent resolution for an import
2022-12-03 22:28:35 +08:00
Yutaro Ohno
690addc6ec
parser: fix ICE with invalid variable declaration in macro call
...
Fix ICE on parsing an invalid variable declaration as a statement like:
```
macro_rules! m { ($s:stmt) => {} }
m! { var x }
```
2022-12-03 23:24:49 +09:00
bjorn3
a99838a115
Make sure all input archives are unmapped before persisting the output archive
2022-12-03 12:53:47 +00:00
Ralf Jung
51ac2af99f
interpret: clobber return place when calling function
2022-12-03 13:37:13 +01:00
Oli Scherer
c38ff3b385
Remove all but one call site of prepare_outputs
and fetch the value from the TyCtxt instead
2022-12-03 12:28:01 +00:00
Camille GILLOT
e973240d18
Do not call fn_sig on non-functions.
2022-12-03 09:34:06 +00:00
Camille GILLOT
59cc6cd4ac
Remove useless filter in unused extern crate check.
2022-12-03 09:23:03 +00:00
bors
703d95e183
Auto merge of #105133 - oli-obk:promoted_def_ids, r=cjgillot
...
Ensure query backtraces work for `DefId`s created after ast lowering
r? `@cjgillot`
2022-12-03 08:17:46 +00:00
Yuki Okushi
7d4af8852c
Rollup merge of #105188 - compiler-errors:verbose-ty-err, r=TaKO8Ki
...
Don't elide type information when printing E0308 with `-Zverbose`
When we pass `-Zverbose`, we kinda expect for all `_` to be replaced with more descriptive information, for example --
```
= note: expected fn pointer `fn(_, u32)`
found fn item `fn(_, i32) {foo}`
```
Where `_` is the "identical" part of the fn signatures, now gets rendered as:
```
= note: expected fn pointer `fn(i32, u32)`
found fn item `fn(i32, i32) {foo}`
```
2022-12-03 12:51:30 +09:00
Yuki Okushi
8f368666b5
Rollup merge of #105181 - bhbs:skip-note, r=estebank
...
Don't add a note for implementing a trait if its inner type is erroneous
Fix #105138
2022-12-03 12:51:29 +09:00
Yuki Okushi
52e886279a
Rollup merge of #104903 - spastorino:consolidate-normalize-in-report_projection_error, r=lcnr
...
Use ocx.normalize in report_projection_error
r? `@lcnr`
cc `@compiler-errors`
2022-12-03 12:51:27 +09:00
BlackHoleFox
56592d310f
Fix passing MACOSX_DEPLOYMENT_TARGET to the linker
2022-12-02 18:12:16 -06:00
bhbs
715d4a8949
Don't add a note for implementing a trait if its inner type is erroneous
2022-12-03 09:06:47 +09:00
Tomasz Miąsko
b740cdcf43
Mark naked functions as never inline in codegen_fn_attrs
...
Use code generation attributes to ensure that naked functions are never
inline, replacing separate checks in MIR inliner and LLVM code
generation.
2022-12-03 01:04:42 +01:00
Tomasz Miąsko
c955add18c
Disable coverage instrumentation for naked functions
2022-12-03 01:03:28 +01:00
Michael Goulet
5c642d7d1c
Don't elide information when printing E0308 with Zverbose
2022-12-02 21:01:59 +00:00
Santiago Pastorino
89047430f1
Define values and err as non mutable
2022-12-02 17:31:45 -03:00
Santiago Pastorino
4dacf4f469
Use ocx.normalize in report_projection_error
2022-12-02 17:31:40 -03:00
Matthias Krüger
8e0d83a70c
Rollup merge of #105185 - compiler-errors:normalize_fn_sig-in-err-ctxt, r=lcnr
...
Move `normalize_fn_sig` to `TypeErrCtxt`
r? `@lcnr`
2022-12-02 21:22:50 +01:00
Matthias Krüger
09e2d0f289
Rollup merge of #105163 - compiler-errors:afit-lt-arity, r=jackh726
...
Check lifetime param count in `collect_trait_impl_trait_tys`
We checked the type and const generics count, but not the lifetimes, which were handled in a different function.
Fixes #105154
2022-12-02 21:22:50 +01:00
Matthias Krüger
babdf86952
Rollup merge of #105162 - compiler-errors:fn-sig-arity, r=cjgillot
...
Properly synthesize `FnSig` value during cycle
Get the arity correct when creating a `FnSig` type during `tcx.fn_sig` cycle recovery
Fixes #105152
2022-12-02 21:22:49 +01:00
Matthias Krüger
b5b2d03c0c
Rollup merge of #105144 - compiler-errors:normalization-doc, r=lcnr
...
Document normalization methods `At::{normalize,query_normalize}`
r? ``@lcnr``
2022-12-02 21:22:48 +01:00
Matthias Krüger
dab14348e9
Rollup merge of #105026 - oToToT:aarch64-v8a, r=davidtwco
...
v8a as default aarch64 target
After https://github.com/llvm/llvm-project/commit/8689f5e landed, LLVM takes the intersection of v8a and v8r as default. This commit brings back v8a support by explicitly specifying v8a in the feature list.
This should solve #97724 .
p.s. a bit more context can also be found in https://github.com/llvm/llvm-project/issues/57904#issuecomment-1329555590 .
2022-12-02 21:22:47 +01:00
Michael Goulet
ffca711760
Move normalize_fn_sig to TypeErrCtxt
2022-12-02 19:29:14 +00:00
Gary Guo
ec4080b236
Fix async track caller for assoc fn and trait impl fn
2022-12-02 16:47:57 +00:00
Gary Guo
4c73b64632
Use proper HirId for async track_caller attribute check
2022-12-02 16:47:57 +00:00
Oli Scherer
c7e94b0efd
Use zero based indexing for pass_count
2022-12-02 15:55:24 +00:00
Oli Scherer
80dcc52934
Remove an impl and replace its only use with a method call
2022-12-02 15:43:36 +00:00
bors
e960b5e774
Auto merge of #104863 - nnethercote:reduce-lint-macros, r=cjgillot
...
Reduce macro usage for lints
r? `@cjgillot`
2022-12-02 15:31:15 +00:00
Michael Woerister
3a58309798
Add StableOrd trait as proposed in MCP 533.
...
The StableOrd trait can be used to mark types as having a stable
sort order across compilation sessions. Collections that sort their
items in a stable way can safely implement HashStable by
hashing items in sort order.
2022-12-02 15:19:30 +01:00
bjorn3
e1edc13afb
Write to temp file before renaming to the final name
2022-12-02 13:18:20 +00:00
Takayuki Maeda
5c7278a364
return when expr has error
...
fmt
add a comment
2022-12-02 17:01:21 +09:00
Matthias Krüger
46c50af977
Rollup merge of #105136 - RalfJung:deref-promotion-comment, r=oli-obk
...
clarify comment on Deref promotion
r? `@oli-obk`
2022-12-02 08:28:10 +01:00
Matthias Krüger
4fdc3eb176
Rollup merge of #104614 - Nilstrieb:type-ascribe!, r=TaKO8Ki
...
Add `type_ascribe!` macro as placeholder syntax for type ascription
This makes it still possible to test the internal semantics of type ascription even once the `:`-syntax is removed from the parser. The macro now gets used in a bunch of UI tests that test the semantics and not syntax of type ascription.
I might have forgotten a few tests but this should hopefully be most of them. The remaining ones will certainly be found once type ascription is removed from the parser altogether.
Part of #101728
2022-12-02 08:28:08 +01:00
Yiming Lei
0e19fb92e1
While parsing enum variant, the error message always disappear
...
Because the error message that emit out is from main error of parser
The information of enum variant disappears while parsing enum variant with error
We only check the syntax of expecting token, i.e, in case #103869
It will error it without telling the message that this error is from pasring enum variant.
Propagate the sub-error from parsing enum variant to the main error of parser by chaining it with map_err
Check the sub-error before emitting the main error of parser and attach it.
Fix #103869
2022-12-01 22:48:52 -08:00
Michael Goulet
dc45eb93f7
Revert 88f2140
2022-12-02 00:05:35 -05:00
Michael Goulet
5809a0591d
Properly synthesize fn sig value during cycle
2022-12-01 23:56:57 -05:00
bors
11663b1b48
Auto merge of #104963 - petrochenkov:noaddids2, r=cjgillot
...
rustc_ast_lowering: Stop lowering imports into multiple items
Lower them into a single item with multiple resolutions instead.
This also allows to remove additional `NodId`s and `DefId`s related to those additional items.
2022-12-02 04:24:57 +00:00