David Wood
2575b1abc9
session: diagnostic migration lint on more fns
...
Apply the diagnostic migration lint to more functions on `Session`.
Signed-off-by: David Wood <david.wood@huawei.com>
2023-01-30 17:11:35 +00:00
Maybe Waffle
f1d273cbfb
Replace some _ == _ || _ == _s with matches!(_, _ | _)s
2023-01-30 12:26:26 +00:00
Maybe Waffle
fd649a3cc5
Replace enum ==s with matches where it makes sense
2023-01-30 12:26:26 +00:00
Maybe Waffle
48af3a96e6
Consider #[allow(dead_code)] before lang items
2023-01-30 10:54:33 +00:00
Maybe Waffle
d4585408dc
Split has_allow_dead_code_or_lang_attr into sub functions
2023-01-30 10:53:11 +00:00
Camille GILLOT
15d6325747
Remove HirId -> LocalDefId map from HIR.
2023-01-28 09:55:26 +00:00
Camille GILLOT
3175d03d3b
Take a LocalDefId in hir::Visitor::visit_fn.
2023-01-28 09:51:50 +00:00
Kyle Matsuda
dc1216bc06
fixup new usages of fn_sig, bound_fn_sig after rebasing
2023-01-26 20:33:27 -07:00
bors
3e97763872
Auto merge of #106745 - m-ou-se:format-args-ast, r=oli-obk
...
Move format_args!() into AST (and expand it during AST lowering)
Implements https://github.com/rust-lang/compiler-team/issues/541
This moves FormatArgs from rustc_builtin_macros to rustc_ast_lowering. For now, the end result is the same. But this allows for future changes to do smarter things with format_args!(). It also allows Clippy to directly access the ast::FormatArgs, making things a lot easier.
This change turns the format args types into lang items. The builtin macro used to refer to them by their path. After this change, the path is no longer relevant, making it easier to make changes in `core`.
This updates clippy to use the new language items, but this doesn't yet make clippy use the ast::FormatArgs structure that's now available. That should be done after this is merged.
2023-01-26 12:44:47 +00:00
Matthias Krüger
8ae5116fae
Rollup merge of #106407 - mejrs:attr_check, r=compiler-errors
...
Improve proc macro attribute diagnostics
Closes https://github.com/rust-lang/rust/issues/102923
2023-01-26 06:15:23 +01:00
inquisitivecrystal
6e04e678dc
Make sure FFI attrs aren't used on foreign statics
...
Previously, we verified that FFI attrs were used on foreign items,
but this allowed them on both foreign functions and foreign statics.
This change only allows them on foreign functions.
2023-01-24 03:51:01 -08:00
inquisitivecrystal
05b7cc8370
Move FFI attribute validation to check_attr
2023-01-24 02:19:04 -08:00
bors
65d2f2a5f9
Auto merge of #106810 - oli-obk:resolver_reverse_plumbing, r=petrochenkov
...
Various cleanups around pre-TyCtxt queries and functions
part of #105462
based on https://github.com/rust-lang/rust/pull/106776 (everything starting at [0e2b39f](https://github.com/rust-lang/rust/pull/106810/commits/0e2b39fd1ffde51b50d45ccbe41de52b85136b8b ) is new in this PR)
r? `@petrochenkov`
I think this should be most of the uncontroversial part of #105462 .
2023-01-19 05:23:40 +00:00
Matthias Krüger
68f12338af
Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726
...
Remove double spaces after dots in comments
Most of the comments do not have double spaces, so I assume these are typos.
2023-01-17 20:21:25 +01:00
Maybe Waffle
6a28fb42a8
Remove double spaces after dots in comments
2023-01-17 08:09:33 +00:00
bors
159ba8a92c
Auto merge of #106627 - Ezrashaw:no-e0711-without-staged-api, r=Mark-Simulacrum
...
fix: don't emit `E0711` if `staged_api` not enabled
Fixes #106589
Simple fix, added UI test.
As an aside, it seems a lot of features are susceptible to this, `E0711` stands out to me because it's perma-unstable and we are effectively exposing an implementation detail.
2023-01-17 07:20:32 +00:00
Oli Scherer
9f5cd03153
Move compiler input and ouput paths into session
2023-01-16 14:46:44 +00:00
Ezra Shaw
be1a6db9f8
fix: don't emit E0711 if staged_api not enabled
2023-01-14 22:04:42 +13:00
Kyle Matsuda
f29a334c90
change impl_trait_ref query to return EarlyBinder; remove bound_impl_trait_ref query; add EarlyBinder to impl_trait_ref in metadata
2023-01-14 00:29:56 -07:00
Kyle Matsuda
be130b57d4
change usages of impl_trait_ref to bound_impl_trait_ref
2023-01-14 00:23:32 -07:00
Caio
7dd45bafb4
[RFC 2397] Deny incorrect locations
2023-01-12 08:41:21 -03:00
Mara Bos
a4dbcb525b
Expand format_args!() in rust_ast_lowering.
2023-01-12 00:25:45 +01:00
mejrs
a8e3abd04c
Address feedback
2023-01-12 00:11:32 +01:00
mejrs
f92000816e
Improve proc macro attribute diagnostics
2023-01-12 00:11:11 +01:00
Nilstrieb
9067e4417e
Rename Rptr to Ref in AST and HIR
...
The name makes a lot more sense, and `ty::TyKind` calls it `Ref` already
as well.
2022-12-28 18:52:36 +01:00
Matthias Krüger
d8874f259a
fix more clippy::style findings
...
match_result_ok
obfuscated_if_else
single_char_add
writeln_empty_string
collapsible_match
iter_cloned_collect
unnecessary_mut_passed
2022-12-25 17:32:26 +01:00
Jeremy Stucki
3dde32ca97
rustc: Remove needless lifetimes
2022-12-20 22:10:40 +01:00
bors
eb9e5e711d
Auto merge of #105880 - Nilstrieb:make-newtypes-less-not-rust, r=oli-obk
...
Improve syntax of `newtype_index`
This makes it more like proper Rust and also makes the implementation a lot simpler.
Mostly just turns weird flags in the body into proper attributes.
It should probably also be converted to an attribute macro instead of function-like, but that can be done in a future PR.
2022-12-20 07:27:01 +00:00
Dylan DPC
a9005b6cc0
Rollup merge of #105864 - matthiaskrgr:compl, r=Nilstrieb
...
clippy::complexity fixes
filter_next
needless_question_mark
bind_instead_of_map
manual_find
derivable_impls
map_identity
redundant_slicing
skip_while_next
unnecessary_unwrap
needless_bool
r? `@compiler-errors`
2022-12-19 14:41:35 +05:30
Matthias Krüger
1da4a49912
clippy::complexity fixes
...
filter_next
needless_question_mark
bind_instead_of_map
manual_find
derivable_impls
map_identity
redundant_slicing
skip_while_next
unnecessary_unwrap
needless_bool
2022-12-19 00:04:28 +01:00
Nilstrieb
8bfd6450c7
A few small cleanups for newtype_index
...
Remove the `..` from the body, only a few invocations used it and it's
inconsistent with rust syntax.
Use `;` instead of `,` between consts. As the Rust syntax gods inteded.
2022-12-18 21:47:28 +01:00
Nilstrieb
d679764fb6
Make #[debug_format] an attribute in newtype_index
...
This removes the `custom` format functionality as its only user was
trivially migrated to using a normal format.
If a new use case for a custom formatting impl pops up, you can add it
back.
2022-12-18 21:37:38 +01:00
Matthias Krüger
22379779b5
Rollup merge of #105875 - matthiaskrgr:needless_borrowed_reference, r=oli-obk
...
don't destuct references just to reborrow
2022-12-18 18:57:05 +01:00
Matthias Krüger
a108d55ce6
don't restuct references just to reborrow
2022-12-18 17:04:32 +01:00
Matthias Krüger
0aa4cde747
avoid .into() conversion to identical types
2022-12-18 16:20:32 +01:00
Matthias Krüger
3bcfa4c459
Rollup merge of #105267 - compiler-errors:issue-104613, r=oli-obk
...
Don't ICE in ExprUseVisitor on FRU for non-existent struct
Fixes #104613
Fixes #105202
2022-12-07 15:39:06 +01:00
Matthias Krüger
90d84ce3a2
Rollup merge of #105174 - chenyukang:yukang/fix-105028-unused, r=eholk
...
Suggest removing struct field from destructive binding only in shorthand scenario
Fixes #105028
2022-12-06 16:54:53 +01:00
Michael Goulet
26b24cd755
drive-by: move field_index to typeck results
2022-12-04 17:59:21 +00:00
Vadim Petrochenkov
1f259ae679
rustc_hir: Change representation of import paths to support multiple resolutions
2022-12-01 18:51:05 +03:00
Vadim Petrochenkov
6cd4dd3091
rustc_hir: Relax lifetime requirements on Visitor::visit_path
2022-12-01 17:04:02 +03:00
yukang
0e24cee063
fix #105028 , Only suggest removing struct field from destructive binding in shorthand scenario
2022-12-01 02:22:18 +08:00
Matthias Krüger
581ca3e836
Rollup merge of #105023 - tmiasko:asm-sym-static-reachable, r=wesleywiser
...
Statics used in reachable function's inline asm are reachable
Fixes #104925 .
2022-11-29 22:43:19 +01:00
bors
c372b14701
Auto merge of #104947 - cjgillot:verify-hir-nest, r=oli-obk
...
Verify that HIR parenting and Def parenting match.
This relationship is relied upon for `tcx.hir_owner_parent` query to return an accurate result.
2022-11-29 10:34:19 +00:00
Tomasz Miąsko
63915be212
Statics used in reachable function's inline asm are reachable
2022-11-28 18:28:05 +01:00
Nicholas Nethercote
a60e337c88
Rename NestedMetaItem::[Ll]iteral as NestedMetaItem::[Ll]it.
...
We already use a mix of `Literal` and `Lit`. The latter is better
because it is shorter without causing any ambiguity.
2022-11-28 15:18:53 +11:00
Nicholas Nethercote
e4a9150872
Rename ast::Lit as ast::MetaItemLit.
2022-11-28 15:18:49 +11:00
Camille GILLOT
b22418eac3
Verify that HIR parenting and Def parenting match.
2022-11-26 17:28:59 +00:00
bors
872631d0f0
Auto merge of #104507 - WaffleLapkin:asderefsyou, r=wesleywiser
...
Use `as_deref` in compiler (but only where it makes sense)
This simplifies some code :3
(there are some changes that are not exacly `as_deref`, but more like "clever `Option`/`Result` method use")
2022-11-24 00:17:35 +00:00
Cameron Steffen
34cbe72780
Change to Ty::is_inhabited_from
2022-11-20 19:04:11 -06:00
Matthias Krüger
e3036df003
couple of clippy::perf fixes
2022-11-18 10:30:47 +01:00