yukang
f54489978d
fix tests
2023-05-01 16:15:17 +08:00
yukang
1b08eaca20
clean up debug code
2023-05-01 16:15:17 +08:00
yukang
10512b2932
remove current_type_ascription from DiagnosticMetadata
2023-05-01 16:15:17 +08:00
Nilstrieb
c63b6a437e
Rip it out
...
My type ascription
Oh rip it out
Ah
If you think we live too much then
You can sacrifice diagnostics
Don't mix your garbage
Into my syntax
So many weird hacks keep diagnostics alive
Yet I don't even step outside
So many bad diagnostics keep tyasc alive
Yet tyasc doesn't even bother to survive!
2023-05-01 16:15:13 +08:00
Matthias Krüger
a656a2019a
Rollup merge of #110984 - cjgillot:const-infer-lifetime, r=compiler-errors
...
Do not resolve anonymous lifetimes in consts to be static.
Fixes https://github.com/rust-lang/rust/issues/110931
2023-04-30 01:14:59 +02:00
Camille GILLOT
63028ac3a1
Do not force anonymous lifetimes in consts to be static.
2023-04-29 10:32:31 +00:00
Michael Goulet
4e05cfb5ff
Don't duplicate anonymous lifetimes for async fn in traits
2023-04-28 20:21:03 +00:00
Josh Soref
e09d0d2a29
Spelling - compiler
...
* account
* achieved
* advising
* always
* ambiguous
* analysis
* annotations
* appropriate
* build
* candidates
* cascading
* category
* character
* clarification
* compound
* conceptually
* constituent
* consts
* convenience
* corresponds
* debruijn
* debug
* debugable
* debuggable
* deterministic
* discriminant
* display
* documentation
* doesn't
* ellipsis
* erroneous
* evaluability
* evaluate
* evaluation
* explicitly
* fallible
* fulfill
* getting
* has
* highlighting
* illustrative
* imported
* incompatible
* infringing
* initialized
* into
* intrinsic
* introduced
* javascript
* liveness
* metadata
* monomorphization
* nonexistent
* nontrivial
* obligation
* obligations
* offset
* opaque
* opportunities
* opt-in
* outlive
* overlapping
* paragraph
* parentheses
* poisson
* precisely
* predecessors
* predicates
* preexisting
* propagated
* really
* reentrant
* referent
* responsibility
* rustonomicon
* shortcircuit
* simplifiable
* simplifications
* specify
* stabilized
* structurally
* suggestibility
* translatable
* transmuting
* two
* unclosed
* uninhabited
* visibility
* volatile
* workaround
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2023-04-17 16:09:18 -04:00
Matthias Krüger
a34bcd70b2
Rollup merge of #110203 - compiler-errors:rtn-dots, r=eholk
...
Remove `..` from return type notation
`@nikomatsakis` and I decided that using `..` in the return-type notation syntax is probably overkill.
r? `@eholk` since you reviewed the last one
Since this is piggybacking now totally off of a pre-existing syntax (parenthesized generics), let me know if you need any explanation of the logic here, since it's a bit more complicated now.
2023-04-12 20:56:22 +02:00
Michael Goulet
24cbf81b85
Remove .. from return type notation
2023-04-10 22:19:46 +00:00
DaniPopes
677357d32b
Fix typos in compiler
2023-04-10 22:02:52 +02:00
Nilstrieb
9fc1555f74
Remove turbofish
2023-04-09 23:32:04 +02:00
Nilstrieb
f058d05fc2
Some simple clippy::perf fixes
2023-04-09 21:59:28 +02:00
bors
56e0626836
Auto merge of #110041 - fmease:diag-sugg-adding-const-param, r=compiler-errors
...
Suggest defining const parameter when appropriate
Helps a bit with #91119 .
Following #105523 's lead, I use placeholder `/* Type */` instead of `_` in the suggestion.
It should be easier for newcomers to parse.
`@rustbot` label A-diagnostics
r? diagnostics
2023-04-09 10:54:04 +00:00
León Orell Valerian Liehr
f2acafe9e2
suggest adding const param
2023-04-07 09:11:53 +02:00
Michael Goulet
d5b1ef1c3f
Use smart-resolve when checking for trait in RHS of UFCS
2023-04-07 05:33:52 +00:00
Oli Scherer
373807a95c
Rename ast::Static to ast::StaticItem to match ast::ConstItem
2023-04-04 15:34:40 +00:00
Oli Scherer
4bebdd7104
box a bunch of large types
2023-04-04 13:58:50 +00:00
Oli Scherer
ec74653652
Split out ast::ItemKind::Const into its own struct
2023-04-04 09:44:50 +00:00
Oli Scherer
e3828777a6
rust-analyzer guided tuple field to named field
2023-04-04 09:44:50 +00:00
Oli Scherer
b08a557f80
rust-analyzer guided enum variant structification
2023-04-04 09:44:45 +00:00
Matthias Krüger
ac229c2819
fix clippy::iter_kv_map
2023-04-01 23:44:16 +02:00
Michael Goulet
8b592db27a
Add (..) syntax for RTN
2023-03-28 01:14:28 +00:00
Vadim Petrochenkov
bec4eab3f9
rustdoc: Skip doc link resolution for non-exported items
2023-03-23 16:19:59 +04:00
Lukas Wirth
204807d8a9
Remove comment about re-using Rib allocations
2023-03-22 12:09:19 +01:00
yukang
827a990255
Do not ICE for unexpected lifetime with ConstGeneric rib
2023-03-17 07:36:18 +08:00
Vadim Petrochenkov
2a716f3563
resolve: Centralize retrieval of items span and item name
2023-03-13 17:31:54 +04:00
Vadim Petrochenkov
c83553da31
rustc_middle: Remove trait DefIdTree
...
This trait was a way to generalize over both `TyCtxt` and `Resolver`, but now `Resolver` has access to `TyCtxt`, so this trait is no longer necessary.
2023-03-02 23:46:44 +04:00
bors
2deff71719
Auto merge of #105462 - oli-obk:feeding_full, r=cjgillot,petrochenkov
...
give the resolver access to TyCtxt
The resolver is now created after TyCtxt is created. Then macro expansion and name resolution are run and the results fed into queries just like before this PR.
Since the resolver had (before this PR) mutable access to the `CStore` and the source span table, these two datastructures are now behind a `RwLock`. To ensure that these are not mutated anymore after the resolver is done, a read lock to them is leaked right after the resolver finishes.
### PRs split out of this one and leading up to it:
* https://github.com/rust-lang/rust/pull/105423
* https://github.com/rust-lang/rust/pull/105357
* https://github.com/rust-lang/rust/pull/105603
* https://github.com/rust-lang/rust/pull/106776
* https://github.com/rust-lang/rust/pull/106810
* https://github.com/rust-lang/rust/pull/106812
* https://github.com/rust-lang/rust/pull/108032
2023-02-21 01:19:25 +00:00
Oli Scherer
d191de63f0
Prepare for adding a TyCtxt to Resolver
2023-02-20 10:38:48 +00:00
Deadbeef
be599f3cbe
remove FIXME that doesn't require fixing
2023-02-20 06:31:26 +00:00
Dylan DPC
4a0f088f7c
Rollup merge of #107951 - petrochenkov:procmacdoc, r=jackh726
...
resolve: Fix doc links referring to other crates when documenting proc macro crates directly
Fixes https://github.com/rust-lang/rust/issues/107950
2023-02-19 13:03:41 +05:30
Michael Goulet
52f82354dc
Make things actually work
2023-02-16 03:39:59 +00:00
Michael Goulet
eff2cb7760
Rename some region-specific stuff
2023-02-16 03:39:59 +00:00
Oli Scherer
43a5cc383d
Separate the lifetime of the session and the arena in the resolver
2023-02-14 10:01:25 +00:00
Vadim Petrochenkov
efbf6547cf
resolve: Fix doc links referring to other crates when documenting proc macro crates directly
2023-02-13 00:51:29 +04:00
Vadim Petrochenkov
9080b79f2b
rustdoc: Eliminate remaining uses of resolver
2023-02-13 00:10:15 +04:00
bors
5b45024487
Auto merge of #94857 - petrochenkov:doclink2, r=oli-obk
...
Resolve documentation links in rustc and store the results in metadata
This PR implements MCP https://github.com/rust-lang/compiler-team/issues/584 .
Doc links are now resolved in rustc and stored into metadata, so rustdoc simply retrieves them through a query (local or extern),
Code that is no longer used is removed, and some code that no longer needs to be public is privatized.
The removed code includes resolver cloning, so this PR fixes https://github.com/rust-lang/rust/issues/83761 .
2023-02-11 12:10:16 +00:00
Vadim Petrochenkov
da4ce6b41e
Skip doc link resolution for some crate types and non-exported items
2023-02-10 09:35:14 +04:00
Vadim Petrochenkov
3b0866272a
Stop resolving doc links on mod items twice
2023-02-10 09:34:13 +04:00
Vadim Petrochenkov
b62b82aef4
Resolve documentation links in rustc and store the results in metadata
...
This commit implements MCP https://github.com/rust-lang/compiler-team/issues/584
It also removes code that is no longer used, and that includes code cloning resolver, so issue #83761 is fixed.
2023-02-10 09:34:13 +04:00
Esteban Küber
30cf7a3f51
Introduce ReError
...
CC #69314
2023-02-09 10:26:49 +00:00
Maybe Waffle
9fe8ae792e
Rename rust_2015 => is_rust_2015
2023-02-02 08:17:13 +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
Michael Goulet
566202b975
Only suggest adding type param if path being resolved was a type
2023-01-15 16:33:08 +00:00
Matthias Krüger
0c8d11b97c
Rollup merge of #105859 - compiler-errors:hr-lifetime-add, r=davidtwco
...
Point out span where we could introduce higher-ranked lifetime
Somewhat addresses #105422 , but not really. We don't have that much useful information here since we're still in resolution :^(
Maybe this suggestion isn't worth it. If the reviewer has an idea how we can get a more succinct binder information for a structured suggestion, it would be appreciated.
2023-01-07 20:43:21 +01:00
Matthias Krüger
c610aeb592
Rollup merge of #106221 - Nilstrieb:rptr-more-like-ref-actually, r=compiler-errors
...
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-29 13:16:04 +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
Esteban Küber
7e84273b7f
Make resolve suggestion more generic
2022-12-27 12:16:25 -08:00