347 Commits

Author SHA1 Message Date
Alexander Regueiro
1b150c4043 Store Ident rather than just Name in HIR types Item and ForeignItem. 2018-12-26 21:26:37 +00:00
Mark Rousskov
2a663555dd Remove licenses 2018-12-25 21:08:33 -07:00
John Kåre Alsaker
517725c571 Add a comment 2018-12-17 08:53:02 +01:00
John Kåre Alsaker
c66b84457f Tweak query code for performance 2018-12-17 08:53:01 +01:00
Alexander Regueiro
ee89c088b0 Various minor/cosmetic improvements to code 2018-12-07 23:53:34 +00:00
bors
4a45578bc5 Auto merge of #56502 - Zoxc:hir-func, r=eddyb
Use a function to access the Hir map to be able to turn it into a query later

r? @eddyb
2018-12-07 20:04:06 +00:00
kennytm
0e41ef13aa
Rollup merge of #56516 - frewsxcv:frewsxcv-eq, r=Mark-Simulacrum
Replace usages of `..i + 1` ranges with `..=i`.

Before this change we were using old computer code techniques. After this change we use the new and improved computer code techniques.
2018-12-07 12:42:32 +08:00
John Kåre Alsaker
a70babed03 Use a function to access the Hir map to be able to turn it into a query later 2018-12-06 17:24:36 +01:00
Corey Farwell
c025d61409 Replace usages of ..i + 1 ranges with ..=i. 2018-12-04 12:05:19 -08:00
Vadim Petrochenkov
08f8faedd0 syntax: Rename some keywords
`CrateRoot` -> `PathRoot`, `::` doesn't necessarily mean crate root now
`SelfValue` -> `SelfLower`, `SelfType` -> `SelfUpper`, both `self` and `Self` can be used in type and value namespaces now
2018-12-04 00:30:27 +03:00
Niko Matsakis
d0a174d41b track the span for each id so that we can give a nice ICE 2018-11-21 13:41:44 -05:00
Eduard-Mihai Burtescu
7683180be5 rustc: implement and use Default on more types. 2018-11-21 08:11:50 +02:00
Eduard-Mihai Burtescu
da622a3796 rustc: remove {FxHash,Node,DefId,HirId,ItemLocal}{Map,Set} "constructor" fns. 2018-11-21 07:27:02 +02:00
Oliver Scherer
a1d89266e5 Turn HirLocalId into a newtype_index 2018-11-12 10:29:53 +01:00
Oliver Scherer
39a0969e64 Make NodeId a newtype_index to enable niche optimizations 2018-11-12 10:29:53 +01:00
Alexander Regueiro
34792d9f6a Added support for trait aliases as bounds. 2018-11-03 04:09:33 +00:00
Matthias Krüger
f6b8876d45 use String::from() instead of format!() macro to construct Strings. 2018-10-31 00:10:10 +01:00
Nick Cameron
f586ac9ef9 Adjust Ids of path segments in visibility modifiers
Fixes #55376
2018-10-30 09:09:49 +13:00
bors
694cf75298 Auto merge of #53821 - oli-obk:sanity_query, r=RalfJung
Report const eval error inside the query

Functional changes: We no longer warn about bad constants embedded in unused types. This relied on being able to report just a warning, not a hard error on that case, which we cannot do any more now that error reporting is consistently centralized.

r? @RalfJung

fixes #53561
2018-10-26 11:05:00 +00:00
Nick Cameron
63ac2aae51 Fix tests and assertions; add some comments 2018-10-26 09:50:51 +13:00
Nick Cameron
c480386391 dump refs for path segments in save-analysis
Requires adding path segments to the hir map
2018-10-26 09:48:44 +13:00
Oliver Schneider
b4ee38ede3 Don't extend hir::Def when there's already a dedicated "function-like" detector 2018-10-25 16:47:35 +02:00
Oliver Schneider
7fdf06cdde Report const eval error inside the query 2018-10-25 16:46:19 +02:00
Oliver Scherer
3c9258e604 Prefer Default::default over FxHash*::default in struct constructors 2018-10-19 14:34:44 +02:00
Oliver Scherer
ee81739dc1 Deprecate the FxHashMap() and FxHashSet() constructor function hack 2018-10-19 14:34:44 +02:00
Zack M. Davis
5b22d9b2ca don't elide lifetimes in paths in librustc/
This seemed like a good way to kick the tires on the
elided-lifetimes-in-paths lint (#52069)—seems to work! This was also
pretty tedious—it sure would be nice if `cargo fix` worked on this
codebase (#53896)!
2018-09-29 21:48:29 -07:00
bors
bd8d030d01 Auto merge of #54338 - orium:fix-macro-inc-comp, r=nrc
Use full name to identify a macro in a `FileName`.

Before this two macros with same name would be indistinguishable inside a `FileName`.  This caused a bug in incremental compilation (see #53097) since two different macros would map out to the same `StableFilemapId`.

Fixes #53097.

r? @nrc
2018-09-28 06:40:32 +00:00
Alexander Regueiro
cf915849f0 Lower impl Trait types in locals. 2018-09-25 03:05:55 +01:00
QuietMisdreavus
1106577116 fix intra-links for trait impls 2018-09-20 05:54:31 -05:00
Diogo Sousa
2d7edf908d Use full name to identify a macro in a FileName.
Before this two macros with same name would be indistinguishable inside a
`FileName`.  This caused a bug in incremental compilation (see #53097) since
two different macros would map out to the same `StableFilemapId`.

Fixes #53097.
2018-09-19 01:12:13 +01:00
bors
ed45f9cbf4 Auto merge of #54151 - ljedrz:cleanup_hir, r=michaelwoerister
A few cleanups for hir

- prefer `if let` to `match` when only 1 branch matters
- `chain` iterable items that are looped over in sequence
- `sort_by_key` instead of `sort_by` when possible
- change cloning `map`s to `cloned()`
- use `unwrap_or_else` and `ok` when applicable
- a few other minor readability improvements
- whitespace fixes
2018-09-15 02:56:13 +00:00
ljedrz
2919ecdb5c A few cleanups for hir 2018-09-12 17:07:00 +02:00
Jakub Kozlowski
4b7f2eb947 Fixup whitespace 2018-09-06 22:18:39 +01:00
Jakub Kozlowski
4088a385a7 Allow named lifetimes in async functions.
- Fixes #53174
2018-09-06 19:02:51 +01:00
bors
ca0de63898 Auto merge of #53711 - arielb1:macro-table, r=michaelwoerister
create a valid DefIdTable for proc macro crates

At least the incremental compilation code, and a few other places in the
compiler, require the CrateMetadata for a loaded target crate to contain a
valid DefIdTable for the DefIds in the target.

Previously, the CrateMetadata for a proc macro contained the crate's
"host" DefIdTable, which is of course incompatible with the "target"
DefIdTable, causing ICEs. This creates a DefIdTable that properly refers
to the "proc macro" DefIds.

Fixes #49482.

r? @michaelwoerister

Should we beta-nominate this?
2018-08-29 08:42:20 +00:00
varkor
a9d075e756 Revert crate root changes 2018-08-27 21:46:23 +01:00
varkor
6642462ef6 Make small modifications 2018-08-27 21:46:23 +01:00
varkor
e2a1cce9c5 Rename hir::map::NodeKind to hir::Node 2018-08-27 21:46:23 +01:00
varkor
ecbdfb4988 Convert EntryKind to a struct, Entry 2018-08-27 21:46:13 +01:00
varkor
befc4b1100 Rename hir::map::Node to hir::map::NodeKind 2018-08-27 21:45:46 +01:00
varkor
a1a338faab Rename MapEntry to EntryKind 2018-08-27 21:45:46 +01:00
Ariel Ben-Yehuda
5415bb6e8f create a valid DefIdTable for proc macro crates
At least the incremental compilation code, and a few other places in the
compiler, require the CrateMetadata for a loaded target crate to contain a
valid DefIdTable for the DefIds in the target.

Previously, the CrateMetadata for a proc macro contained the crate's
"host" DefIdTable, which is of course incompatible with the "target"
DefIdTable, causing ICEs. This creates a DefIdTable that properly refers
to the "proc macro" DefIds.

Fixes #49482.
2018-08-26 18:48:41 +03:00
varkor
d0209c44a6 Replace TyForeign with ForeignTy 2018-08-22 16:08:49 +01:00
varkor
05cfb3f5b5 Rename Def::{Param, Foreign} to Def::{TyParam, TyForeign} 2018-08-22 16:08:49 +01:00
varkor
04fa5d3adb Remove Ty prefix from Ty{Foreign|Param} 2018-08-22 16:07:55 +01:00
Donato Sciarra
062bfbf39b mv codemap source_map 2018-08-19 23:01:01 +02:00
Donato Sciarra
d3fe97f3d3 mv codemap() source_map() 2018-08-19 23:01:01 +02:00
Donato Sciarra
82607d2cf3 mv (mod) codemap source_map 2018-08-19 23:01:00 +02:00
Donato Sciarra
cbd0595710 mv filemap source_file 2018-08-19 23:00:59 +02:00
Donato Sciarra
c655473378 mv CodeMap SourceMap 2018-08-19 23:00:59 +02:00