Zack M. Davis
43a0a65fa2
call it hir::VisibilityKind instead of hir::Visibility_:*
...
It was pointed out in review that the glob-exported
underscore-suffixed convention for `Spanned` HIR nodes is no longer
preferred: see February 2016's #31487 for AST's migration away from
this style towards properly namespaced NodeKind enums.
This concerns #51968 .
2018-07-01 11:05:10 -07:00
Zack M. Davis
4ae89129e1
in which hir::Visibility recalls whence it came (i.e., becomes Spanned)
...
There are at least a couple (and plausibly even three) diagnostics that
could use the spans of visibility modifiers in order to be reliably
correct (rather than hacking and munging surrounding spans to try to
infer where the visibility keyword must have been).
We follow the naming convention established by the other `Spanned` HIR
nodes: the "outer" type alias gets the "prime" node-type name, the
"inner" enum gets the name suffixed with an underscore, and the variant
names are prefixed with the prime name and `pub use` exported from here
(from HIR).
Thanks to veteran reviewer Vadim Petrochenkov for suggesting this
uniform approach. (A previous draft, based on the reasoning that
`Visibility::Inherited` should not have a span, tried to hack in a named
`span` field on `Visibility::Restricted` and a positional field on
`Public` and `Crate`. This was ... not so uniform.)
2018-06-30 22:41:01 -07:00
bors
48af7714d8
Auto merge of #51717 - Mark-Simulacrum:snap, r=alexcrichton
...
Bootstrap from 1.28.0 beta
2018-06-30 21:01:05 +00:00
Mark Simulacrum
ad97f8b491
Bootstrap from 1.28.0-beta.3
2018-06-30 13:17:49 -07:00
bors
bfc1ee4968
Auto merge of #51762 - petrochenkov:oh-hi-mark, r=oli-obk
...
hygiene: Implement transparent marks and use them for call-site hygiene in proc-macros
Fixes https://github.com/rust-lang/rust/issues/50050
2018-06-30 09:19:21 +00:00
bors
acf50b79be
Auto merge of #51806 - oli-obk:lowering_cleanups1, r=cramertj
...
Lowering cleanups [1/N]
2018-06-30 07:10:18 +00:00
Vadim Petrochenkov
9f92fce77c
Fortify dummy span checking
2018-06-30 01:53:32 +03:00
Vadim Petrochenkov
f0622dfe5d
Use Idents for associated item definitions in HIR
...
Remove emulation of hygiene with gensyms
2018-06-28 11:04:50 +03:00
Oliver Schneider
b2e2c32105
Generate the NodeId for existential type in the AST
2018-06-27 11:17:25 +02:00
Vadim Petrochenkov
20ce91076a
hygiene: Merge NameAndSpan into ExpnInfo
2018-06-23 21:53:24 +03:00
Taylor Cramer
cf844b547d
async await desugaring and tests
2018-06-21 22:36:36 -07:00
Without Boats
18ff7d091a
Parse async fn header.
...
This is gated on edition 2018 & the `async_await` feature gate.
The parser will accept `async fn` and `async unsafe fn` as fn
items. Along the same lines as `const fn`, only `async unsafe fn`
is permitted, not `unsafe async fn`.The parser will not accept
`async` functions as trait methods.
To do a little code clean up, four fields of the function type
struct have been merged into the new `FnHeader` struct: constness,
asyncness, unsafety, and ABI.
Also, a small bug in HIR printing is fixed: it previously printed
`const unsafe fn` as `unsafe const fn`, which is grammatically
incorrect.
2018-06-21 22:29:47 -07:00
varkor
95f1866a4d
Make GenericBound explicit
2018-06-20 12:23:46 +01:00
varkor
c5f16e0e18
Rename ParamBound(s) to GenericBound(s)
2018-06-20 12:23:46 +01:00
varkor
7de6ed06a5
Rename TraitTyParamBound to ParamBound::Trait
2018-06-20 12:23:23 +01:00
varkor
aed530a457
Lift bounds into GenericParam
2018-06-20 12:22:46 +01:00
varkor
a5328bc17b
Simply joint lifetime/type iteration
2018-06-20 12:21:52 +01:00
varkor
3bcb006fd9
Rename structures in ast
2018-06-20 12:21:52 +01:00
varkor
f457b3d10a
Refactor generic parameters in rustdoc/clean
2018-06-20 12:21:52 +01:00
varkor
c65454850f
Remove AngleBracketedArgs impl
2018-06-20 12:21:08 +01:00
varkor
2c6ff2469a
Refactor ast::GenericParam as a struct
2018-06-20 12:21:08 +01:00
varkor
d643946550
Rename ast::GenericParam and ast::GenericArg
...
It's so confusing to have everything having the same name, at least while refactoring.
2018-06-20 12:19:04 +01:00
varkor
f9d0968906
Make method and variable names more consistent
2018-06-20 12:19:04 +01:00
varkor
76c0d68745
Rename "parameter" to "arg"
2018-06-20 12:19:04 +01:00
varkor
3e89753283
Rename PathParameter(s) to GenericArg(s)
2018-06-20 12:19:04 +01:00
varkor
494859e8dd
Consolidate PathParameters and AngleBracketedParameterData
2018-06-20 12:19:03 +01:00
Oliver Schneider
9b1bd94e37
Add existential type definitons
2018-06-07 17:33:53 +02:00
John Kåre Alsaker
b7aabaa3fc
Update recursion limits
2018-06-01 14:56:01 +02:00
Eduard-Mihai Burtescu
26aad25487
rustc: introduce {ast,hir}::AnonConst to consolidate so-called "embedded constants".
2018-05-19 20:34:42 +03:00
Nick Cameron
a10577ca53
save-analysis: handle aliasing imports a bit more nicely
2018-05-15 20:34:17 +12:00
Alex Burka
e857c1b790
restore feature for stage0
2018-05-13 19:51:33 +00:00
Alex Burka
394945ee36
stabilize :lifetime
2018-05-13 19:51:32 +00:00
Nick Cameron
d4c53ac827
save-analysis: emit correct docs for methods
...
cc https://github.com/rust-lang-nursery/rls/issues/446
2018-05-07 11:43:34 +12:00
Irina Popa
04fa0e7bb3
rustc_target: move in syntax::abi and flip dependency.
2018-04-26 17:49:16 +03:00
bors
748c549185
Auto merge of #49847 - sinkuu:save_analysis_implicit_extern, r=petrochenkov
...
Fix save-analysis generation with extern_in_paths/extern_absolute_paths
Fixes #48742 .
2018-04-16 02:34:32 +00:00
Shotaro Yamada
c3dc014378
Check generated save-analysis, instead of bug!()ing
...
Injected crates don't have extern info. Let's skip them.
2018-04-15 21:41:28 +09:00
Vadim Petrochenkov
4f69b7fb85
Avoid comparing fields by name when possible
...
Resolve them into field indices once and then use those resolutions
+ Fix rebase
2018-04-12 23:06:03 +03:00
Vadim Petrochenkov
44acea4d88
AST/HIR: Merge field access expressions for named and numeric fields
2018-04-12 23:02:09 +03:00
bors
43e994c8b8
Auto merge of #49715 - Mark-Simulacrum:deny-warnings, r=alexcrichton
...
Move deny(warnings) into rustbuild
This permits easier iteration without having to worry about warnings
being denied.
Fixes #49517
2018-04-11 03:30:04 +00:00
Shotaro Yamada
bbed61d3d2
Extend ExternCrate to cover externs inferred from use or paths
2018-04-11 01:17:59 +09:00
Mark Simulacrum
c115cc655c
Move deny(warnings) into rustbuild
...
This permits easier iteration without having to worry about warnings
being denied.
Fixes #49517
2018-04-08 16:59:14 -06:00
Tamir Duberstein
f144bdfa9d
Remove mention of CsvDumper
...
...it was removed in 9a47160 .
Updates #18582 .
2018-04-07 22:21:50 -04:00
Vadim Petrochenkov
b3b5ef186c
Remove more duplicated spans
2018-04-06 11:50:49 +03:00
Vadim Petrochenkov
62000c072e
Rename ast::Variant_::name into ident + Fix rebase
2018-04-06 11:48:19 +03:00
Vadim Petrochenkov
e2afefd80b
Get rid of SpannedIdent
2018-04-06 11:48:19 +03:00
Austin Bonander
5d74990ceb
expand macro invocations in extern {} blocks
2018-04-03 13:16:11 -07:00
Vadim Petrochenkov
f88162654d
Rename Span::empty to Span::shrink_to_lo, add Span::shrink_to_hi
2018-03-17 22:12:21 +03:00
Vadim Petrochenkov
b057c554ab
AST: Make renames in imports closer to the source
...
Fix `unused_import_braces` lint false positive on `use prefix::{self as rename}`
2018-03-17 22:12:21 +03:00
Niko Matsakis
993c1488cc
add canonicalize method to InferCtxt [VIC]
2018-03-13 11:21:31 -04:00
Shotaro Yamada
f5a3efee88
Do not panic on tuple struct access out of bounds
2018-03-07 08:48:36 +09:00