Camille GILLOT 
							
						 
					 
					
						
						
						
						
							
						
						
							343819d33f 
							
						 
					 
					
						
						
							
							Revert "Validate resolution for SelfCtor too."  
						
						... 
						
						
						
						This reverts commit 83453408a0ce91b9e3d3ae6e7f117b1fd28b487d. 
						
						
					 
					
						2023-05-14 12:48:32 +00:00 
						 
				 
			
				
					
						
							
							
								clubby789 
							
						 
					 
					
						
						
						
						
							
						
						
							3851a4bb91 
							
						 
					 
					
						
						
							
							Improve error for self: Box<self>  
						
						
						
						
					 
					
						2023-05-11 13:21:10 +01:00 
						 
				 
			
				
					
						
							
							
								Boxy 
							
						 
					 
					
						
						
						
						
							
						
						
							73b3ce26ec 
							
						 
					 
					
						
						
							
							improve diagnostics and bless tests  
						
						
						
						
					 
					
						2023-05-05 21:42:54 +01:00 
						 
				 
			
				
					
						
							
							
								Matthias Krüger 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1187ce7213 
							
						 
					 
					
						
						
							
							Rollup merge of  #111020  - cjgillot:validate-self-ctor, r=petrochenkov  
						
						... 
						
						
						
						Validate resolution for SelfCtor too.
Fixes https://github.com/rust-lang/rust/issues/89868 
r? `@petrochenkov` 
						
						
					 
					
						2023-05-04 08:09:04 +02:00 
						 
				 
			
				
					
						
							
							
								Camille GILLOT 
							
						 
					 
					
						
						
						
						
							
						
						
							83453408a0 
							
						 
					 
					
						
						
							
							Validate resolution for SelfCtor too.  
						
						
						
						
					 
					
						2023-05-03 17:55:27 +00:00 
						 
				 
			
				
					
						
							
							
								Nicholas Nethercote 
							
						 
					 
					
						
						
						
						
							
						
						
							6b62f37402 
							
						 
					 
					
						
						
							
							Restrict From<S> for {D,Subd}iagnosticMessage.  
						
						... 
						
						
						
						Currently a `{D,Subd}iagnosticMessage` can be created from any type that
impls `Into<String>`. That includes `&str`, `String`, and `Cow<'static,
str>`, which are reasonable. It also includes `&String`, which is pretty
weird, and results in many places making unnecessary allocations for
patterns like this:
```
self.fatal(&format!(...))
```
This creates a string with `format!`, takes a reference, passes the
reference to `fatal`, which does an `into()`, which clones the
reference, doing a second allocation. Two allocations for a single
string, bleh.
This commit changes the `From` impls so that you can only create a
`{D,Subd}iagnosticMessage` from `&str`, `String`, or `Cow<'static,
str>`. This requires changing all the places that currently create one
from a `&String`. Most of these are of the `&format!(...)` form
described above; each one removes an unnecessary static `&`, plus an
allocation when executed. There are also a few places where the existing
use of `&String` was more reasonable; these now just use `clone()` at
the call site.
As well as making the code nicer and more efficient, this is a step
towards possibly using `Cow<'static, str>` in
`{D,Subd}iagnosticMessage::{Str,Eager}`. That would require changing
the `From<&'a str>` impls to `From<&'static str>`, which is doable, but
I'm not yet sure if it's worthwhile. 
						
						
					 
					
						2023-05-03 08:44:39 +10:00 
						 
				 
			
				
					
						
							
							
								Matthias Krüger 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1795bf8222 
							
						 
					 
					
						
						
							
							Rollup merge of  #110404  - matthiaskrgr:mapmap, r=Nilstrieb  
						
						... 
						
						
						
						fix clippy::toplevel_ref_arg and ::manual_map
r? ``@Nilstrieb`` 
						
						
					 
					
						2023-04-17 08:09:40 +02:00 
						 
				 
			
				
					
						
							
							
								Matthias Krüger 
							
						 
					 
					
						
						
						
						
							
						
						
							543f8bc38c 
							
						 
					 
					
						
						
							
							fix clippy::toplevel_ref_arg and ::manual_map  
						
						
						
						
					 
					
						2023-04-16 13:28:13 +02:00 
						 
				 
			
				
					
						
							
							
								Matthias Krüger 
							
						 
					 
					
						
						
						
						
							
						
						
							bcc15bba95 
							
						 
					 
					
						
						
							
							use matches! macro in more places  
						
						
						
						
					 
					
						2023-04-16 12:08:30 +02:00 
						 
				 
			
				
					
						
							
							
								Michael Goulet 
							
						 
					 
					
						
						
						
						
							
						
						
							8ed2dc0bce 
							
						 
					 
					
						
						
							
							Make span a bit better  
						
						
						
						
					 
					
						2023-04-06 16:52:17 +00:00 
						 
				 
			
				
					
						
							
							
								Michael Goulet 
							
						 
					 
					
						
						
						
						
							
						
						
							00d54c879b 
							
						 
					 
					
						
						
							
							Label non_exhaustive on privacy errors  
						
						
						
						
					 
					
						2023-04-06 16:49:43 +00:00 
						 
				 
			
				
					
						
							
							
								Matthias Krüger 
							
						 
					 
					
						
						
						
						
							
						
						
							ac229c2819 
							
						 
					 
					
						
						
							
							fix clippy::iter_kv_map  
						
						
						
						
					 
					
						2023-04-01 23:44:16 +02:00 
						 
				 
			
				
					
						
							
							
								Vadim Petrochenkov 
							
						 
					 
					
						
						
						
						
							
						
						
							b3ee735993 
							
						 
					 
					
						
						
							
							resolve: Remove struct_field_names_untracked  
						
						
						
						
					 
					
						2023-03-13 17:31:55 +04:00 
						 
				 
			
				
					
						
							
							
								Vadim Petrochenkov 
							
						 
					 
					
						
						
						
						
							
						
						
							2a716f3563 
							
						 
					 
					
						
						
							
							resolve: Centralize retrieval of items span and item name  
						
						
						
						
					 
					
						2023-03-13 17:31:54 +04:00 
						 
				 
			
				
					
						
							
							
								Vadim Petrochenkov 
							
						 
					 
					
						
						
						
						
							
						
						
							901f1c9c62 
							
						 
					 
					
						
						
							
							resolve: Partially remove item_attrs_untracked  
						
						
						
						
					 
					
						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 
						 
				 
			
				
					
						
							
							
								Michael Howell 
							
						 
					 
					
						
						
						
						
							
						
						
							f058bb0fcf 
							
						 
					 
					
						
						
							
							diagnostics: avoid querying associated_item in the resolver  
						
						... 
						
						
						
						Fixes  #108529  
					
						2023-02-27 09:22:51 -07:00 
						 
				 
			
				
					
						
							
							
								bors 
							
						 
					 
					
						
						
						
						
							
						
						
							0978711950 
							
						 
					 
					
						
						
							
							Auto merge of  #108324  - notriddle:notriddle/assoc-fn-method, r=compiler-errors,davidtwco,estebank,oli-obk  
						
						... 
						
						
						
						diagnostics: if AssocFn has self argument, describe as method
Discussed in https://rust-lang.zulipchat.com/#narrow/stream/147480-t-compiler.2Fwg-diagnostics/topic/.22associated.20function.22.20vs.20.22method.22/near/329265515 
This commit also changes the tooltips on rustdoc intra-doc links targeting methods.
For anyone not sure why this is being done, see the Reference definitions of these terms in <https://doc.rust-lang.org/1.67.1/reference/items/associated-items.html#methods >
> Associated functions whose first parameter is named `self` are called methods and may be invoked using the [method call operator](https://doc.rust-lang.org/1.67.1/reference/expressions/method-call-expr.html ), for example, `x.foo()`, as well as the usual function call notation.
In particular, while this means it's technically correct for rustc to refer to a method as an associated function (and there are a few cases where it'll still do so), rustc *must never* use the term "method" to refer to an associated function that does not have a `self` parameter. 
						
						
					 
					
						2023-02-23 00:19:12 +00:00 
						 
				 
			
				
					
						
							
							
								Vadim Petrochenkov 
							
						 
					 
					
						
						
						
						
							
						
						
							d275114bda 
							
						 
					 
					
						
						
							
							resolve: Remove ImportResolver  
						
						... 
						
						
						
						It's a trivial wrapper over `Resolver` that doesn't bring any benefits 
						
						
					 
					
						2023-02-22 21:29:38 +04:00 
						 
				 
			
				
					
						
							
							
								Michael Howell 
							
						 
					 
					
						
						
						
						
							
						
						
							3d056c3125 
							
						 
					 
					
						
						
							
							diagnostics: if AssocFn has self argument, describe as method  
						
						... 
						
						
						
						Discussed in
https://rust-lang.zulipchat.com/#narrow/stream/147480-t-compiler.2Fwg-diagnostics/topic/.22associated.20function.22.20vs.20.22method.22/near/329265515 
This commit also changes the tooltips on rustdoc intra-doc links
targeting methods. 
						
						
					 
					
						2023-02-22 08:40:33 -07:00 
						 
				 
			
				
					
						
							
							
								Oli Scherer 
							
						 
					 
					
						
						
						
						
							
						
						
							a04e78730e 
							
						 
					 
					
						
						
							
							Use source_span query instead of passing the untracked vec around  
						
						
						
						
					 
					
						2023-02-21 08:29:55 +00: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 
							
						 
					 
					
						
						
						
						
							
						
						
							4953d70e2f 
							
						 
					 
					
						
						
							
							Stuff a TyCtxt into the Resolver  
						
						
						
						
					 
					
						2023-02-20 15:28:59 +00:00 
						 
				 
			
				
					
						
							
							
								Oli Scherer 
							
						 
					 
					
						
						
						
						
							
						
						
							6924e3c374 
							
						 
					 
					
						
						
							
							Make untracked.source_span lockable so that resolution can still write to it when using TyCtxt  
						
						
						
						
					 
					
						2023-02-20 15:28:58 +00:00 
						 
				 
			
				
					
						
							
							
								Oli Scherer 
							
						 
					 
					
						
						
						
						
							
						
						
							e8e227aec8 
							
						 
					 
					
						
						
							
							Prepare crate loader for LockGuard  
						
						
						
						
					 
					
						2023-02-20 10:49:42 +00:00 
						 
				 
			
				
					
						
							
							
								Oli Scherer 
							
						 
					 
					
						
						
						
						
							
						
						
							d191de63f0 
							
						 
					 
					
						
						
							
							Prepare for adding a TyCtxt to Resolver  
						
						
						
						
					 
					
						2023-02-20 10:38:48 +00:00 
						 
				 
			
				
					
						
							
							
								Jacob Pratt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							378c4ab9ab 
							
						 
					 
					
						
						
							
							Make public API, docs algorithm-agnostic  
						
						
						
						
					 
					
						2023-02-19 04:11:10 +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 
						 
				 
			
				
					
						
							
							
								Maybe Waffle 
							
						 
					 
					
						
						
						
						
							
						
						
							9fe8ae792e 
							
						 
					 
					
						
						
							
							Rename rust_2015 => is_rust_2015  
						
						
						
						
					 
					
						2023-02-02 08:17:13 +00:00 
						 
				 
			
				
					
						
							
							
								Guillaume Gomez 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							fe44f3bdd0 
							
						 
					 
					
						
						
							
							Rollup merge of  #107508  - WaffleLapkin:uneq'15, r=oli-obk  
						
						... 
						
						
						
						`Edition` micro refactor
r? ``@oli-obk`` 
						
						
					 
					
						2023-01-31 23:38:53 +01:00 
						 
				 
			
				
					
						
							
							
								Maybe Waffle 
							
						 
					 
					
						
						
						
						
							
						
						
							03158f40d2 
							
						 
					 
					
						
						
							
							Don't do .edition().rust_*()  
						
						
						
						
					 
					
						2023-01-31 10:09:23 +00:00 
						 
				 
			
				
					
						
							
							
								Maybe Waffle 
							
						 
					 
					
						
						
						
						
							
						
						
							fd5774a4d7 
							
						 
					 
					
						
						
							
							Use Edition methods a bit more  
						
						
						
						
					 
					
						2023-01-31 10:09:22 +00:00 
						 
				 
			
				
					
						
							
							
								Maybe Waffle 
							
						 
					 
					
						
						
						
						
							
						
						
							fd649a3cc5 
							
						 
					 
					
						
						
							
							Replace enum ==s with matches where it makes sense  
						
						
						
						
					 
					
						2023-01-30 12:26:26 +00:00 
						 
				 
			
				
					
						
							
							
								bors 
							
						 
					 
					
						
						
						
						
							
						
						
							85da15c016 
							
						 
					 
					
						
						
							
							Auto merge of  #107133  - pnkfelix:revert-pr-84022-for-issue-106337, r=Mark-Simulacrum  
						
						... 
						
						
						
						Revert "Make PROC_MACRO_DERIVE_RESOLUTION_FALLBACK a hard error"
This reverts commit 7d82cadd97acc66993b69304c5a1a04ef7d1fa36 aka PR #84022 
I am doing this to buy us some time with respect to issue #106337  w.r.t. the 1.67 release. 
						
						
					 
					
						2023-01-22 03:58:52 +00:00 
						 
				 
			
				
					
						
							
							
								Felix S. Klock II 
							
						 
					 
					
						
						
						
						
							
						
						
							5fa1347331 
							
						 
					 
					
						
						
							
							Revert "Make PROC_MACRO_DERIVE_RESOLUTION_FALLBACK a hard error"  
						
						... 
						
						
						
						This reverts commit 7d82cadd97acc66993b69304c5a1a04ef7d1fa36.
I am doing this to buy us some time with respect to issue #106337  w.r.t. the
1.67 release. 
						
						
					 
					
						2023-01-20 17:13:55 -05:00 
						 
				 
			
				
					
						
							
							
								Michael Howell 
							
						 
					 
					
						
						
						
						
							
						
						
							c07a722847 
							
						 
					 
					
						
						
							
							diagnostics: remvoe unnecessary use of source_map.start_point  
						
						
						
						
					 
					
						2023-01-20 14:53:34 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Howell 
							
						 
					 
					
						
						
						
						
							
						
						
							dca160a06a 
							
						 
					 
					
						
						
							
							diagnostics: use module_path to check crate import instead of strings  
						
						
						
						
					 
					
						2023-01-20 14:53:34 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Howell 
							
						 
					 
					
						
						
						
						
							
						
						
							e237690a28 
							
						 
					 
					
						
						
							
							diagnostics: add }; only if { was added too  
						
						
						
						
					 
					
						2023-01-20 14:53:33 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Howell 
							
						 
					 
					
						
						
						
						
							
						
						
							e9d8d238ef 
							
						 
					 
					
						
						
							
							diagnostics: suggest changing s@self::{macro}@::macro for exported  
						
						... 
						
						
						
						Fixes  #99695  
					
						2023-01-20 14:52:24 -07:00 
						 
				 
			
				
					
						
							
							
								Michael Goulet 
							
						 
					 
					
						
						
						
						
							
						
						
							21725774a2 
							
						 
					 
					
						
						
							
							note -> help  
						
						
						
						
					 
					
						2023-01-17 03:09:49 +00:00 
						 
				 
			
				
					
						
							
							
								Michael Goulet 
							
						 
					 
					
						
						
						
						
							
						
						
							716ea5f19c 
							
						 
					 
					
						
						
							
							Fix use suggestion span  
						
						
						
						
					 
					
						2023-01-17 03:06:38 +00:00 
						 
				 
			
				
					
						
							
							
								Michael Goulet 
							
						 
					 
					
						
						
						
						
							
						
						
							950b47fb96 
							
						 
					 
					
						
						
							
							Render missing generics suggestion verbosely  
						
						
						
						
					 
					
						2023-01-12 22:04:30 +00:00 
						 
				 
			
				
					
						
							
							
								Esteban Küber 
							
						 
					 
					
						
						
						
						
							
						
						
							41e66d9025 
							
						 
					 
					
						
						
							
							review comments: Tweak output  
						
						... 
						
						
						
						* Account for `struct S(pub(super)Ty);` in suggestion
* Suggest changing field visibility in E0603 too 
						
						
					 
					
						2023-01-11 21:36:02 +00:00 
						 
				 
			
				
					
						
							
							
								Michael Goulet 
							
						 
					 
					
						
						
						
						
							
						
						
							1d66a675bb 
							
						 
					 
					
						
						
							
							review comment  
						
						
						
						
					 
					
						2023-01-09 18:07:34 +00:00 
						 
				 
			
				
					
						
							
							
								Michael Goulet 
							
						 
					 
					
						
						
						
						
							
						
						
							d2404d6dca 
							
						 
					 
					
						
						
							
							Dont clobber as .. rename in import suggestion  
						
						
						
						
					 
					
						2022-12-27 07:05:45 +00:00 
						 
				 
			
				
					
						
							
							
								Michael Goulet 
							
						 
					 
					
						
						
						
						
							
						
						
							9e2536b938 
							
						 
					 
					
						
						
							
							Note alternative import candidates in nested use tree  
						
						
						
						
					 
					
						2022-12-27 05:09:43 +00:00 
						 
				 
			
				
					
						
							
							
								Oli Scherer 
							
						 
					 
					
						
						
						
						
							
						
						
							75ff5c7dd3 
							
						 
					 
					
						
						
							
							Fold Definitions into the untracked data  
						
						
						
						
					 
					
						2022-12-09 14:59:39 +00:00 
						 
				 
			
				
					
						
							
							
								Oli Scherer 
							
						 
					 
					
						
						
						
						
							
						
						
							1c1d3570ee 
							
						 
					 
					
						
						
							
							Move the untracked cstore and source_span into a struct  
						
						
						
						
					 
					
						2022-12-09 14:53:24 +00:00 
						 
				 
			
				
					
						
							
							
								Oli Scherer 
							
						 
					 
					
						
						
						
						
							
						
						
							2cd36f2c89 
							
						 
					 
					
						
						
							
							Generate crate loaders on the fly  
						
						
						
						
					 
					
						2022-12-09 14:53:23 +00:00 
						 
				 
			
				
					
						
							
							
								yukang 
							
						 
					 
					
						
						
						
						
							
						
						
							fb004e9a95 
							
						 
					 
					
						
						
							
							fix   #101749 , use . instead of :: when accessing a method of an object  
						
						
						
						
					 
					
						2022-12-03 22:41:12 +08:00