Vadim Petrochenkov
dab8c0ab28
Fix stability annotations for already stable bits of proc macro API 1.1
...
Remove unnecessary proc-macro-related `feature`s
2018-05-16 00:09:15 +03:00
Vadim Petrochenkov
c106125431
Represent lifetimes as two joint tokens in proc macros
2018-05-15 23:54:08 +03:00
Matthew Jasper
be2900c33b
Make is_global true for latebound regions
2018-05-15 21:48:35 +01:00
Vadim Petrochenkov
5b820a694c
Address feedback, remove remaining review comments, add some more docs
2018-05-15 23:24:17 +03:00
Vadim Petrochenkov
780616ed74
proc_macro: Validate inputs to Punct::new
and Ident::new
2018-05-15 23:24:16 +03:00
Vadim Petrochenkov
f116ab6e6e
proc_macro: Properly support raw identifiers
2018-05-15 23:24:16 +03:00
Vadim Petrochenkov
47d4089e10
TokenTree: Op -> Punct, Term -> Ident
2018-05-15 23:24:16 +03:00
Vadim Petrochenkov
decc619a1f
Extend documentation and add review comments
2018-05-15 23:24:16 +03:00
bors
f0fdaba04e
Auto merge of #50767 - oli-obk:rls_clippy, r=kennytm
...
Don't inject clippy into the rls anymore
r? @kennytm
sorry about breaking nightlies.
The issue is that the `[patch.crates-io]` doesn't work if the versions differ. So every time we update clippy, we can only update it to the verison that rls is depending on.
I'm disabling the injection of clippy into rls for now. I'm not sure how to do this properly. We could
* add a version check, so rls only builds clippy if its dependency clippy is the same as the submodule clippy
* do something crazy like auto-patching the Cargo.toml of the rls tool repo to just use a path dependency on clippy
* build crates-io clippy instead of submodule clippy and gate clippy injection on that
* that's somewhat automatic, and is essentially what is necessary right now, but done manually
* make clippy 0.1.* instead of 0.0.* and update patch versions for nightly updates and minor version updates for `clippy_lints` api changes.
* not sure how semver-great this is
2018-05-15 20:18:13 +00:00
Guillaume Gomez
564511e58b
add auto-impl for primitive type
2018-05-15 21:37:12 +02:00
Anthony Ramine
5701779b8e
Reenable the MergeFunctions pass
...
The crash that happened in #23566 doesn't happen anymore with the LLVM mergefunc
pass enabled and it hugely reduces code size (for example it shaves off 10% of the
final Servo executable). This patch reenables it.
2018-05-15 21:10:40 +02:00
leonardo.yvens
0582d025e8
Rename ret_ty to declared_ret_ty
2018-05-15 15:42:41 -03:00
Clar Charr
8ab2d15f67
Add Option::xor method
2018-05-15 12:49:31 -04:00
Anthony Ramine
ba2b4b1eed
Make mutable_noalias and arg_align_attributes be tracked
2018-05-15 18:03:10 +02:00
Alex Crichton
dff9ee1d74
rustc: Fix crate
lint for single-item paths
...
This commit fixes recommending the `crate` prefix when migrating to 2018 for
paths that look like `use foo;` or `use {bar, baz}`
Closes #50660
2018-05-15 08:05:34 -07:00
Anthony Ramine
e6f61be4cd
Update LLVM to 1abfd0e562cc8f7a9577d97ee92246699093b954
...
https://github.com/rust-lang/llvm/pull/111
https://github.com/rust-lang/llvm/pull/114
2018-05-15 16:51:06 +02:00
varkor
5be2bdb498
One must always remember to clean up after themselves
2018-05-15 14:52:53 +01:00
est31
4d328f786e
Pattern match on Ok instead of Some of .ok() retval
2018-05-15 15:47:57 +02:00
est31
235e7c1b43
Remove LoopIdResult
...
It's redundant as Result already implements Encodable
as well as Decodable.
2018-05-15 15:47:32 +02:00
est31
3ef481a520
Remove hir::ScopeTarget
...
When we want to implement label-break-value,
we can't really decide whether to emit ScopeTarget::Loop or
ScopeTarget::Block in the code that is supposed to create it.
So we get rid of it and reconstruct the information when
needed.
2018-05-15 15:47:31 +02:00
varkor
5ea91ac531
Collapse Substs::identity_for_item in collect
2018-05-15 14:22:25 +01:00
varkor
39a68e9069
Clean up dropck_outlives PhantomData handling
2018-05-15 14:22:25 +01:00
varkor
0a9371ab77
Add mk_param_from_def
2018-05-15 14:22:25 +01:00
varkor
e9c28b2564
Use Kind instead of UnpackedKind in Substs methods
2018-05-15 14:22:25 +01:00
varkor
3ae2468261
Clean up shared subst code
2018-05-15 14:22:11 +01:00
varkor
d9190da982
Refactor Substs methods on generic parameters
2018-05-15 14:22:11 +01:00
varkor
030f10f752
Clean up generic param handling
2018-05-15 14:21:32 +01:00
varkor
25bf73d31c
Update bad-annotation error message
2018-05-15 14:21:32 +01:00
varkor
b575c18992
Refactoring generic counting loops
2018-05-15 14:21:32 +01:00
varkor
fe1f651e4c
Review refactoring
2018-05-15 14:21:32 +01:00
varkor
fd8e284a20
Rename param_counts to own_counts
2018-05-15 14:21:32 +01:00
varkor
365c8c3704
Remove GenericParamDef::to_type
2018-05-15 14:21:32 +01:00
varkor
007de2f896
Lift pure_wrt_drop to GenericParamDef
2018-05-15 14:21:32 +01:00
varkor
9200bdee26
Refactor generic params loops
2018-05-15 14:21:32 +01:00
varkor
18f77e25e9
Fix rebase fallout
2018-05-15 14:21:32 +01:00
varkor
9f9d4beda6
Rename RegionParamDef to LifetimeParamDef
2018-05-15 14:21:32 +01:00
varkor
4bed895cab
Pull common parameters into GenericParamDef
...
This leads to a lot of simplifications, as most code doesn't actually need to know about the specific lifetime/type data; rather, it's concerned with properties like name, index and def_id.
2018-05-15 14:21:32 +01:00
varkor
5e89312a22
Inline get_type
2018-05-15 14:21:32 +01:00
varkor
fc27c2eb38
Fix typo in late-bound region testing message
2018-05-15 14:21:31 +01:00
varkor
d62fc236f9
Refactor to address comments
2018-05-15 14:21:31 +01:00
varkor
df1c256a2b
Replace type_param_to_index with param_def_id_to_index
2018-05-15 14:21:31 +01:00
varkor
7b45a892a4
Use GenericParamCount instead of FxHashMap
2018-05-15 14:21:31 +01:00
varkor
a17896a3b6
Place Self at the start of ty::Generics' param lists
2018-05-15 14:21:03 +01:00
varkor
6f257bf26f
Correct variable renaming fallout
2018-05-15 14:21:03 +01:00
varkor
0b8b14f6f5
Eliminate ty::Generics::types()
...
And with one final incanation, the specific kind iterators were banished from ty::Generics, never to be seen again!
2018-05-15 14:21:03 +01:00
varkor
d557ff983f
Eliminate ty::Generics::lifetimes()
...
Begone lazy lifetime code!
2018-05-15 14:21:03 +01:00
varkor
b75f421ee9
Generalise more cases of explicit iteration of specific kinds
2018-05-15 14:21:03 +01:00
varkor
4a6c946368
Generalise cases of explicit iteration of specific kinds
2018-05-15 14:21:03 +01:00
varkor
cadf96e8e1
Fix tidy errors caused by renaming
2018-05-15 14:20:19 +01:00
varkor
06f0a7c89f
Rename TypeParameterDef -> TypeParamDef and RegionParameterDef -> RegionParamDef
2018-05-15 14:20:19 +01:00