| Age | Commit message (Collapse) | Author | Lines |
|
Compute lifetimes in scope at diagnostic time
The set of available lifetimes is currently computed during lifetime resolution on HIR. It is only used for one diagnostic.
In this PR, HIR lifetime resolution just reports whether elided lifetimes are well-defined at the place of use. The diagnostic code is responsible for building a list of lifetime names if elision is not allowed.
This will allow to remove lifetime resolution on HIR eventually.
|
|
|
|
|
|
remove region_scope_tree from RegionCtxt
Apply suggestions from code review
Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
|
|
valtree_to_const_val
|
|
Generate synthetic object file to ensure all exported and used symbols participate in the linking
Fix #50007 and #47384
This is the synthetic object file approach that I described in https://github.com/rust-lang/rust/pull/95363#issuecomment-1079932354, allowing all exported and used symbols to be linked while still allowing them to be GCed.
Related #93791, #95363
r? `@petrochenkov`
cc `@carbotaniuman`
|
|
This is currently a wrapper to `SymbolExportLevel` but it allows
later addition of extra information.
|
|
foreign crate
Adding diagnostic data on generators to the crate metadata and using it to provide
a better diagnostic on failure to meet send bound on futures originated from a foreign crate
|
|
This change was made as per suspicion that this struct was never renamed after consistent use of DropCk.
This also clarifies the meaning behind the name of this structure.
|
|
Signed-off-by: codehorseman <cricis@yeah.net>
|
|
|
|
This was largely just caching the shard value at this point, which is not
particularly useful -- in the use sites the key was being hashed nearby anyway.
|
|
|
|
|
|
The data structure previously used here required Ord.
As part of #90317, we do not want DefId to implement Ord.
|
|
Also rename `module_exports`/`export_map` to `module_reexports`/`reexport_map` for clarity.
|
|
Import `SimplifiedType` more
|
|
See #91867
This was mostly straightforward. In several places, I take advantage
of the fact that lifetimes are non-hygenic: a macro declares the
'tcx' lifetime, which is then used in types passed in as macro
arguments.
|
|
|
|
extern providers
|
|
|
|
Move ICH to rustc_query_system
Based on https://github.com/rust-lang/rust/pull/89183
The StableHashingContext does not need to be in rustc_middle.
This PR moves it to rustc_query_system. This will avoid a dependency between rustc_ast_lowering and rustc_middle in https://github.com/rust-lang/rust/pull/89124.
|
|
|
|
The previous macro_rules! parsers failed when an additional modifier was added
with ambiguity errors. The error is pretty unclear as to what exactly the cause
here is, but this change simplifies the argument parsing code such that the
error is avoided.
|
|
|
|
|
|
|