bors
794fc062be
Auto merge of #55455 - estebank:expected-descr, r=michaelwoerister
...
Use token description in "expected/found" parse messages
Fix #54309 .
2018-11-04 06:56:11 +00:00
bors
6d69fe7a2f
Auto merge of #54861 - rep-nop:find_main_in_doctest, r=estebank
...
rustdoc: Replaces fn main search and extern crate search with proper parsing during doctests.
Fixes #21299 .
Fixes #33731 .
Let me know if there's any additional changes you'd like made!
2018-11-04 01:43:40 +00:00
Alexander Regueiro
4bdc3d833a
Extended elaboration for trait aliases to include arbitrary bounds.
2018-11-03 04:09:34 +00:00
Alexander Regueiro
90041d638b
Added support for trait aliases as object types.
2018-11-03 04:09:34 +00:00
Alexander Regueiro
34792d9f6a
Added support for trait aliases as bounds.
2018-11-03 04:09:33 +00:00
QuietMisdreavus
014c8c4c38
implement existing parser fns in terms of fallible fns
2018-11-02 17:07:28 -05:00
QuietMisdreavus
0fe6aae49a
buffer errors from initial tokenization when parsing
2018-11-01 11:57:29 -05:00
Pietro Albini
15958ca9ff
Rollup merge of #55558 - nnethercote:tweak-MatcherPos-matches, r=petrochenkov
...
Tweak `MatcherPos::matches`
These changes reduce instruction counts on `sentry-cli-check` incremental builds by up to 2%.
2018-11-01 22:52:17 +08:00
Pietro Albini
133ba2d063
Rollup merge of #55542 - ljedrz:syntax_alloc_improvements, r=kennytm
...
syntax: improve a few allocations
Add 2 `reserve`s and a `with_capacity` where the final vector size is known.
2018-11-01 22:52:15 +08:00
Nicholas Nethercote
0d2abe46ca
Use SmallVec for the inner vectors in MatcherPos::matches.
...
This avoids some allocations.
2018-11-01 08:45:26 +11:00
Nicholas Nethercote
c60ed5d22c
Share empty Vecs more within MatcherPos::matches.
...
`create_matches` creates a `Vec<Rc<Vec<NamedMatch>>>`. Even though all the
inner `Vec`s are empty, each one is created separately.
This commit changes `create_matches` so it instead creates one empty inner
`Vec`, and shares it.
The commit also changes `MatcherPos::matches` to a boxed slice, because its
length doesn't change.
2018-11-01 08:43:40 +11:00
ljedrz
f4c03fd847
syntax: improve a few allocations
2018-10-31 16:58:51 +01:00
Matthias Krüger
f6b8876d45
use String::from() instead of format!() macro to construct Strings.
2018-10-31 00:10:10 +01:00
David Lavati
6c9f6a1afd
Rename other occs of (Code/File)Map to Source(Map/File) #51574
2018-10-29 21:26:13 +01:00
Esteban Küber
54858d5a67
Fix regression
2018-10-29 09:39:58 -07:00
Pietro Albini
97ff2d6ab1
Rollup merge of #55384 - nnethercote:better-integer_lit-float_lit, r=michaelwoerister
...
Avoid unnecessary allocations in `float_lit` and `integer_lit`.
This commit avoids an allocation when parsing any float and integer
literals that don't involved underscores.
This reduces the number of allocations done for the `tuple-stress`
benchmark by 10%, reducing its instruction count by just under 1%.
2018-10-29 09:47:45 +01:00
Esteban Küber
3e22e0c3bc
Use token description in "expected/found" parse messages
2018-10-28 16:05:50 -07:00
bors
4f5cfa611d
Auto merge of #55192 - cramertj:nested-mod, r=petrochenkov
...
Fix ordering of nested modules in non-mod.rs mods
Flatten relative offset into directory path before adding inline
(mod x { ... }) module names to the current directory path.
Fix #55094
2018-10-28 13:13:55 +00:00
Zack M. Davis
dc0609c247
feature-gate lint reasons
...
We take stability seriously, so we shy away from making even seemingly
"trivial" features insta-stable.
2018-10-27 12:31:20 -07:00
bors
fa45602b71
Auto merge of #54929 - csmoe:cfg_lint, r=petrochenkov
...
Suggest to remove prefix `b` in cfg attribute lint string
Closes #54926
r? @estebank
2018-10-26 21:46:13 +00:00
kennytm
626b49666f
Rollup merge of #55358 - sinkuu:redundant_clone2, r=estebank
...
Remove redundant clone (2)
2018-10-26 23:06:49 +08:00
kennytm
e897fe711e
Rollup merge of #55301 - estebank:macro-allowed, r=petrochenkov
...
List allowed tokens after macro fragments
Fix #34069 .
2018-10-26 23:06:33 +08:00
kennytm
eb74711b54
Rollup merge of #55298 - estebank:macro-def, r=pnkfelix
...
Point at macro definition when no rules expect token
Fix #35150 .
2018-10-26 23:06:30 +08:00
kennytm
c6cd57dd86
Rollup merge of #55292 - estebank:macro-eof, r=pnkfelix
...
Macro diagnostics tweaks
Fix #30128 , fix #10951 by adding an appropriate span to the diagnostic.
Fix #26288 by suggesting adding semicolon to macro call.
2018-10-26 23:06:28 +08:00
Nicholas Nethercote
eb637d26ba
Avoid unnecessary allocations in float_lit and integer_lit.
...
This commit avoids an allocation when parsing any float and integer
literals that don't involved underscores.
This reduces the number of allocations done for the `tuple-stress`
benchmark by 10%, reducing its instruction count by just under 1%.
2018-10-26 22:08:39 +11:00
Shotaro Yamada
3878d24ef6
Remove redundant clone
2018-10-26 12:07:39 +09:00
Nick Cameron
6dd5bb18d7
more reviewer changes
2018-10-26 09:50:51 +13:00
Nick Cameron
59cb1705d7
rebasing and reviewer changes
...
Primarily refactoring `(Ident, Option<NodeId>)` to `Segment`
2018-10-26 09:50:51 +13:00
Nick Cameron
b49da276b3
Store a resolved def on hir::PathSegment
2018-10-26 09:48:44 +13:00
Nick Cameron
fc67d8fac4
Give each PathSegment a NodeId
2018-10-26 09:48:44 +13:00
Esteban Küber
2cfd790177
List allowed tokens after macro fragments
2018-10-25 11:08:58 -07:00
Pietro Albini
555df0f44f
Rollup merge of #55282 - sinkuu:redundant_clone, r=estebank
...
Remove redundant clone
2018-10-25 14:31:14 +02:00
Pietro Albini
4f14bfdc73
Rollup merge of #55269 - matthiaskrgr:typos_oct, r=zackmdavis
...
fix typos in various places
2018-10-25 14:31:13 +02:00
Pietro Albini
f81e47f85e
Rollup merge of #54977 - estebank:macro-arg-parse, r=pnkfelix
...
Accept `Option<Box<$t:ty>>` in macro argument
Given the following code, compile successfuly:
```
macro_rules! test {
(
fn fun() -> Option<Box<$t:ty>>;
) => {
fn fun(x: $t) -> Option<Box<$t>>
{ Some(Box::new(x)) }
}
}
test! {
fn fun() -> Option<Box<i32>>;
}
```
Fix #25274 .
2018-10-25 14:31:00 +02:00
Esteban Küber
f8818cbf8f
Fix incorrect semicolon suggestion
2018-10-24 12:52:24 -07:00
Esteban Küber
1ab45ec7e3
Point to macro def span instead of whole body
2018-10-24 11:34:23 -07:00
Esteban Küber
8227a938a4
Point at macro definition when no rules expect token
2018-10-23 21:44:46 -07:00
Vadim Petrochenkov
faefc83a7a
Feature gate extern prelude additions from extern crate items
...
Fix rustdoc and fulldeps tests
2018-10-24 00:14:50 +03:00
Esteban Küber
ad144ac3c1
Modify invalid macro in expression context diagnostic
2018-10-23 10:07:34 -07:00
Esteban Küber
8544db0faa
Add macro call span when lacking any other span in diagnostic
2018-10-23 10:07:11 -07:00
Matthias Krüger
4972beaf65
fix typos in various places
2018-10-23 15:56:25 +02:00
Shotaro Yamada
fda3326a5a
Remove redundant clone
2018-10-23 17:13:59 +09:00
bors
d570b36cd9
Auto merge of #54778 - scottmcm:stabilize-ihle, r=pnkfelix
...
Stabilize impl_header_lifetime_elision in 2015
~~This is currently blocked on https://github.com/rust-lang/rust/issues/54902 ; it should be good after that~~
It's already stable in 2018; this finishes the stabilization.
FCP completed (https://github.com/rust-lang/rust/issues/15872#issuecomment-417953153 ), proposal (https://github.com/rust-lang/rust/issues/15872#issuecomment-412759783 ).
Tracking issue: https://github.com/rust-lang/rust/issues/15872
Usage examples (from libcore): https://github.com/rust-lang/rust/pull/54687
2018-10-23 04:05:50 +00:00
csmoe
a76690f6a4
optimize unsupported literal diag message
2018-10-22 20:28:37 +08:00
Vadim Petrochenkov
21d67c45a3
Fix a few tests with target-specific output
...
Enable one fully ignored test
2018-10-21 14:06:29 +03:00
bors
ca2639e82e
Auto merge of #55014 - ljedrz:lazyboye_unwraps, r=matthewjasper
...
Prefer unwrap_or_else to unwrap_or in case of function calls/allocations
The contents of `unwrap_or` are evaluated eagerly, so it's not a good pick in case of function calls and allocations. This PR also changes a few `unwrap_or`s with `unwrap_or_default`.
An added bonus is that in some cases this change also reveals if the object it's called on is an `Option` or a `Result` (based on whether the closure takes an argument).
2018-10-20 11:22:48 +00:00
Scott McMurray
74df5ec387
Add a stub feature so we can still test E0705
2018-10-19 22:26:02 -07:00
Scott McMurray
37393576ec
Stabilize impl_header_lifetime_elision in 2015
...
It's already stable in 2018; this finishes the stabilization.
2018-10-19 21:57:52 -07:00
csmoe
fb7c76bad5
update meta item checking test
2018-10-20 11:11:31 +08:00
csmoe
d3b018ccdb
suggest to trim prefix in nested meta items
2018-10-20 11:11:31 +08:00