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
4343c20819
Use ty::Generics instead of hir::Generics for various checks
2018-06-20 12:23:46 +01:00
varkor
f457b3d10a
Refactor generic parameters in rustdoc/clean
2018-06-20 12:21:52 +01:00
varkor
80b381e041
Remove all traces of lifetimes() and types() methods
2018-06-20 12:21:24 +01:00
varkor
c818a1df9b
Remove specific parameter iterators from hir::Generics
2018-06-20 12:21:08 +01:00
varkor
82dba3d419
Refactor hir::GenericParam as a struct
2018-06-20 12:21:07 +01:00
Simon Sapin
d2fe6c4527
Update the error message for a missing global allocator
...
Don’t mention `#[default_lib_allocator]` (which is an implementation detail
irrelevant to most users) and instead suggest using `#[global_allocator]`,
which is often the correct fix.
2018-06-19 20:16:43 +02:00
bors
862703e05e
Auto merge of #51414 - oli-obk:impl_trait_type_def, r=pnkfelix
...
Add existential type definitions
Note: this does not allow creating named existential types, it just desugars `impl Trait` to a less (but still very) hacky version of actual `existential type` items.
r? @nikomatsakis
2018-06-18 14:34:52 +00:00
Eduard-Mihai Burtescu
5a5c7ded0d
rustc: rename ty::maps to ty::query.
2018-06-14 18:05:12 +03:00
Oliver Schneider
9b1bd94e37
Add existential type definitons
2018-06-07 17:33:53 +02:00
Mark Simulacrum
19e0b7da1c
Remove is_import field
2018-06-03 11:29:44 -06:00
John Kåre Alsaker
b7aabaa3fc
Update recursion limits
2018-06-01 14:56:01 +02:00
Michael Woerister
22f6163db4
Make metadata decoding use AllocDecodingState/Session.
2018-06-01 09:32:24 +02:00
Vadim Petrochenkov
189c0a1297
Use Idents for fields in HIR
2018-05-26 14:41:58 +03:00
bors
c3733a770e
Auto merge of #50528 - whitfin:issue-50508, r=michaelwoerister
...
Remove attribute_cache from CrateMetadata
This PR will fix #50508 by removing the `attribute_cache` from the `CrateMetadata` struct. Seeing as performance was referenced in the original issue, I also cleaned up a `self.entry(node_id);` call which might have occasionally happened redundantly.
r? @michaelwoerister
2018-05-23 09:50:54 +00:00
Eduard-Mihai Burtescu
26aad25487
rustc: introduce {ast,hir}::AnonConst to consolidate so-called "embedded constants".
2018-05-19 20:34:42 +03:00
Isaac Whitfield
d95ba305b4
Catch an issue missed in rebase
2018-05-18 10:21:42 -07:00
Isaac Whitfield
55a00a95cf
Remove unnecessary impl methods for CrateMetadata
2018-05-18 09:38:08 -07:00
Isaac Whitfield
680f3b24ba
Serialize attributes into the CrateRoot
2018-05-18 09:37:29 -07:00
Isaac Whitfield
ca60c404b6
Remove unnecessary clone call for panic_strategy
2018-05-18 09:37:29 -07:00
Isaac Whitfield
5f5ea79611
Avoid removing from cstore_impl for now
2018-05-18 09:37:29 -07:00
Isaac Whitfield
ece778e2a3
Attempt to pass CrateMetadata flags on creation
2018-05-18 09:37:29 -07:00
Isaac Whitfield
466fc6815d
Avoid generating attributes more than once for CrateMetadata
2018-05-18 09:37:13 -07:00
Isaac Whitfield
f418f1dd78
Remove attribute_cache from CrateMetadata
2018-05-18 09:36:45 -07:00
Vadim Petrochenkov
f4cbc2388f
Pass crate editions to macro expansions, update tests
2018-05-17 23:13:09 +03:00
Vadim Petrochenkov
76bf3454da
Keep crate edition in metadata
2018-05-17 23:13:09 +03:00
Irina Popa
b63d7e2b1c
Rename trans to codegen everywhere.
2018-05-17 15:08:30 +03:00
varkor
15d2759d90
Rename has_type_parameters to requires_monomorphization
2018-05-15 14:20:19 +01:00
varkor
de1c29c95e
Reduce parent_params to parent_count
2018-05-15 14:20:19 +01:00
varkor
fe0c119e7d
Consolidate ty::Generics
2018-05-15 14:20:19 +01: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
Alex Crichton
4199a6c1ee
Rollup merge of #50538 - michaelwoerister:atomic-cnums, r=Zoxc
...
Make CrateNum allocation more thread-safe.
This PR makes sure that we can't have race conditions when assigning CrateNums. It's a slight improvement but a larger refactoring of the CrateStore/CrateLoader infrastructure would be good, I think.
r? @Zoxc
2018-05-10 11:35:24 -05:00
Michael Woerister
4537025c71
Add comment about first element in CStore::metas.
2018-05-09 21:32:18 +02:00
Michael Woerister
b8b957d479
Make CrateNum allocation more thread-safe.
2018-05-09 16:05:32 +02:00
Michael Woerister
31d2012ef7
Adapt some method visibilities in librustc_metadata::cstore.
2018-05-09 10:33:45 +02:00
Michael Woerister
ea4942835d
Don't use Lock for heavily accessed CrateMetadata::cnum_map.
2018-05-08 14:32:31 +02:00
bors
f76f6fbdea
Auto merge of #50271 - sinkuu:fix_ice, r=eddyb
...
Fix ICE #48984
* ~~fbf6423 The tail type was not normalized.~~
* d0839d5680 The method had a wrong assumption that something whose parent is a trait is an associated item. Fixes #48984 .
2018-04-29 03:01:09 +00:00
Shotaro Yamada
9fc2595802
Make trait_of_item return None for non associated items
...
It have returned `Some` for constants in a trait definition,
and `Instance::resolve` called `tcx.associated_item` for them,
causing ICE.
2018-04-28 10:49:45 +09:00
bors
3c43aa5677
Auto merge of #50102 - Zoxc:query-nomacro, r=michaelwoerister
...
Move query code outside macros and store query jobs separately from query results
Based on https://github.com/rust-lang/rust/pull/50067
r? @michaelwoerister
2018-04-27 16:42:31 +00:00
John Kåre Alsaker
4036d2be8a
Create a job immediately when looking in the query map and start it later
2018-04-27 12:09:58 +02:00
John Kåre Alsaker
4d52751d12
Rename InternedString to LocalInternedString and introduce a new thread-safe InternedString
2018-04-27 03:35:32 +02:00
Irina Popa
04fa0e7bb3
rustc_target: move in syntax::abi and flip dependency.
2018-04-26 17:49:16 +03:00
Irina Popa
38e964077b
Rename rustc_back::target to rustc_target::spec.
2018-04-26 16:39:44 +03:00
Irina Popa
6f03b80020
rustc_back: move LinkerFlavor, PanicStrategy, and RelroLevel to target.
2018-04-26 16:39:27 +03:00
Wesley Wiser
d81d081df3
Hash EntryKind::AssociatedConst const data
...
Related to #49991
2018-04-24 23:18:58 -04:00
Wesley Wiser
732cc736c9
Clean up IsolatedEncoder::encode_info_for_impl_item() a bit
2018-04-20 19:05:54 -04:00
Wesley Wiser
ee9a4720ee
Fix bad merge in #49991
...
When I rebased #49991 on `master`, I messed up the merge for this line. I'm reverting this back to the way it was in f15e5c1 .
2018-04-20 09:12:59 -04:00
Wesley Wiser
4a77d35c1e
Remove HIR inlining
...
Fixes #49690
2018-04-19 20:33:18 -04:00