Vadim Petrochenkov
dae5f05f43
Remove the proc keyword again
2018-05-17 23:13:09 +03:00
Vadim Petrochenkov
c4352ff198
Turn some functions from token.rs into methods on Ident
2018-05-17 23:13:09 +03:00
Vadim Petrochenkov
f89e356245
Add two keywords specific to editions 2015 and 2018 respectively
2018-05-17 23:13:09 +03:00
Vadim Petrochenkov
640884bad0
Add edition to expansion info
2018-05-17 23:13:08 +03:00
Vadim Petrochenkov
ee5b1e15aa
Move definition of Edition from libsyntax to libsyntax_pos
2018-05-17 23:13:08 +03:00
Katrin Leinweber
703ecebe02
Hyperlink DOI against preferred resolver
...
https://www.doi.org/doi_handbook/3_Resolution.html#3.8
2018-05-14 07:17:56 +02:00
John Kåre Alsaker
6968f4c8a3
Fix impl PartialOrd for InternedString
2018-05-13 01:28:20 +02:00
Mark Simulacrum
575ac946bc
Rollup merge of #50607 - Zoxc:symbol-arena, r=michaelwoerister
...
Allocate Symbol strings from an arena
This is an alternative to https://github.com/rust-lang/rust/pull/50549
cc @nnethercote
r? @michaelwoerister
2018-05-12 07:32:30 -06:00
John Kåre Alsaker
ca32340367
Allocate Symbol strings from an arena
2018-05-10 16:27:46 +02:00
Nicholas Nethercote
77c40f8c6f
Inline Span methods.
...
Because they are simple and hot.
This change speeds up some incremental runs of a few rustc-perf
benchmarks, the best by 3%.
2018-05-09 20:14:03 +10:00
Nicholas Nethercote
e740b97be6
Always inline simple BytePos and CharPos methods.
...
Because they are (a) trivial, and (b) super hot.
This change speeds up most rustc-benchmarks, the best by 5%.
2018-05-03 13:25:18 +10:00
kennytm
4a961d1f08
Rollup merge of #50192 - bobtwinkles:libsyntax_extensions, r=jseyfried
...
Add some utilities to `libsyntax`
Adds a few functions to `Mark` and `Span` that I found useful in an upcoming refactor of NLL region error reporting. Also includes some new documentation based on my discussion with @jseyfried on IRC.
r? @jseyfried
2018-04-28 03:32:13 +08: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
bobtwinkles
73e0c1e968
Fix review nits
2018-04-26 18:28:34 -04:00
bors
0c5740feb2
Auto merge of #49986 - zofrex:better-derived-argument-names, r=Manishearth
...
Provide better names for builtin deriving-generated attributes
First attempt at fixing #49967
Not in love with any choices here, don't be shy if you aren't happy with anything :)
I've tested that this produces nicer names in documentation, and that it no longer has issues conflicting with constants with the same name. (I guess we _could_ make a test for that... unsure if that would be valuable)
In all cases I took the names from the methods as declared in the relevant trait.
In some cases I had to prepend the names with _ otherwise there were errors about un-used variables. I'm uneasy with the inconsistency... do they all need to be like that? Is there a way to generate an alternate impl or use a different name (`_`?) in the cases where the arguments are not used?
Lastly the gensym addition to Ident I implemented largely as suggested, but I want to point out it's a little circuitous (at least, as far as I understand it). `cx.ident_of(name)` is just `Ident::from_str`, so we create an Ident then another Ident from it. `Ident::with_empty_ctxt(Symbol::gensym(string))` may or may not be equivalent, I don't know if it's important to intern it _then_ gensym it. It seems like either we could use that, or if we do want a new method to make this convenient, it could be on Ident instead (`from_str_gensymed`?)
2018-04-25 01:50:56 +00:00
bobtwinkles
498dbe4453
Implement a least upper bound for marks.
...
This is useful when trying to compute when something is lexically before
something else, but they aren't necessarily in the same SyntaxContext
2018-04-23 23:59:59 -04:00
bobtwinkles
263b36b071
Implement parent() on syntax_pos::Span
...
... and reimplement proc_macro::Span::parent using it. This function turns out
to be useful in the compiler as well
2018-04-23 23:59:58 -04:00
bobtwinkles
d2dc21df02
Add documentation for SyntaxContext::remove_mark
2018-04-23 23:59:58 -04:00
Nicholas Nethercote
f7d4c976a2
Use FxHashMap in syntax_pos::symbol::Interner::intern.
...
Because it's faster than HashMap.
This change reduces the time taken for a few of the rustc-perf
benchmarks, mostly the small ones, by up to 5%.
2018-04-23 19:15:31 +10:00
Guillaume Gomez
7a39e90afc
Rollup merge of #49699 - zesterer:master, r=joshtriplett
...
Removed 'proc' from the reserved keywords list
Remove 'proc' from the reserved keywords list.
'proc' is a very useful identifier name for a lot of things. It's especially useful when dealing with processes, operating system internals, and kernel development.
2018-04-17 18:43:13 +02:00
Guillaume Gomez
05275dafaa
Remove unwanted auto-linking and update
2018-04-16 23:37:11 +02:00
James Sanderson
4ae9488ce8
Provide better names for builtin deriving-generated attributes
2018-04-15 20:51:10 +01:00
bors
252a459d37
Auto merge of #49371 - scottmcm:catch-wrapping, r=nikomatsakis
...
Add ok-wrapping to catch blocks, per RFC
Updates the `catch{}` lowering to wrap the result in `Try::from_ok`.
r? @nikomatsakis
Fixes #41414
Fixes #43818
2018-04-12 05:38:49 +00:00
Joshua Barretto
16e75e3566
Reenumerated symbols
2018-04-11 13:27:43 +01:00
Scott McMurray
c4b6521327
Add ok-wrapping to catch blocks, per RFC
2018-04-10 20:03:40 -07: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
bors
8c2d7b2da3
Auto merge of #49661 - alexcrichton:bump-bootstrap, r=nikomatsakis
...
Bump the bootstrap compiler to 1.26.0 beta
Holy cow that's a lot of `cfg(stage0)` removed and a lot of new stable language
features!
2018-04-07 11:58:38 +00:00
Vadim Petrochenkov
3a30bad6de
Use Ident instead of Name in MetaItem
2018-04-06 11:52:16 +03:00
Vadim Petrochenkov
e2afefd80b
Get rid of SpannedIdent
2018-04-06 11:48:19 +03:00
Vadim Petrochenkov
baae274fb7
Use Span instead of SyntaxContext in Ident
2018-04-06 11:46:26 +03:00
Joshua Barretto
5e94d5498d
Merge pull request #1 from rust-lang/master
...
Merge upstream changes
2018-04-05 20:59:32 +01:00
Joshua Barretto
446285e45c
Removed 'proc' from the reserved keywords list
2018-04-05 18:12:01 +01:00
Alex Crichton
8958815916
Bump the bootstrap compiler to 1.26.0 beta
...
Holy cow that's a lot of `cfg(stage0)` removed and a lot of new stable language
features!
2018-04-05 07:13:45 -07:00
Aidan Hobson Sayers
9b5859aea1
Remove all unstable placement features
...
Closes #22181 , #27779
2018-04-03 11:02:34 +02:00
Mark Mansi
7ce8191775
Stabilize i128_type
2018-03-26 08:36:50 -05:00
Alex Crichton
4b31b5bda7
Rollup merge of #49030 - Zoxc:misc, r=michaelwoerister
...
Misc changes from my parallel rustc branch
r? @michaelwoerister
2018-03-23 10:16:09 -07:00
bors
5e3ecdce4e
Auto merge of #48917 - petrochenkov:import, r=oli-obk
...
syntax: Make imports in AST closer to the source and cleanup their parsing
This is a continuation of https://github.com/rust-lang/rust/pull/45846 in some sense.
2018-03-18 01:50:52 +00:00
John Kåre Alsaker
3fa69c935d
Make Span and Symbol implement Send and Sync
2018-03-17 23:01:46 +01: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
5d06c890fe
syntax: Make _ an identifier
2018-03-17 22:08:07 +03:00
John Kåre Alsaker
426c51d6ea
Make FileMap thread-safe
2018-03-15 00:43:02 +01:00
John Kåre Alsaker
cbdf4ec03e
Remove syntax and syntax_pos thread locals
2018-03-14 11:56:01 +01:00
Oliver Schneider
52dec0e1c9
Don't derive traits on packed structs
2018-03-08 08:35:39 +01:00
leonardo.yvens
2e7e68b762
while let all the things
2018-03-05 15:58:54 -03:00
John Kåre Alsaker
b74e97cf42
Replace Rc with Lrc for shared data
2018-03-02 10:48:52 +01:00
Manish Goregaokar
fac7d7cfb2
Rollup merge of #48359 - jsgf:remap-path-prefix, r=sanxiyn
...
Fixes #47311 .
r? @nrc
2018-02-28 15:09:24 -08:00
Jeremy Fitzhardinge
56a6828533
Implement --remap-path-prefix
...
Remove experimental -Zremap-path-prefix-from/to, and replace it with
the stabilized --remap-path-prefix=from=to variant.
This is an implementation for issue of #41555 .
2018-02-22 15:13:21 -08:00
Seiichi Uchida
291c51b9c8
Fix up tests and typos
2018-02-18 00:10:40 +09:00
Seiichi Uchida
b5099a708d
Replace dummy spans with empty spans
2018-02-18 00:10:40 +09:00
kennytm
9d995d2832
Rollup merge of #47942 - estebank:macro-spans, r=nikomatsakis Minimize weird spans involving macro context Sometimes the parser attempts to synthesize spans from within a macro context with the span for the captured argument, leading to non-sensical spans with very bad output. Given that an incorrect span is worse than a partially incomplete span, when detecting this situation return only one of the spans without merging them. Fix #32072 , #47778 . CC #23480 .
2018-02-02 22:48:50 +08:00