kennytm
6091696cfd
Rollup merge of #55601 - petrochenkov:featissue, r=pnkfelix
...
Fix tracking issue numbers for some unstable features
And also remove deprecated unstable `#[panic_implementation]` attribute that was superseded by stable `#[panic_handler]` and doesn't have an open tracking issue.
2018-11-06 17:08:08 +08:00
bors
af791bb8f4
Auto merge of #55451 - estebank:arg-doc, r=pnkfelix
...
Custom diagnostic when trying to doc comment argument
When writing
```
pub fn f(
/// Comment
id: u8,
) {}
```
Produce a targeted diagnostic
```
error: documentation comments cannot be applied to method arguments
--> $DIR/fn-arg-doc-comment.rs:2:5
|
LL | /// Comment
| ^^^^^^^^^^^ doc comments are not allowed here
```
Fix #54801 .
2018-11-05 16:36:18 +00:00
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
Vadim Petrochenkov
29d2ceae7c
Remove deprecated unstable #[panic_implementation]
...
It was superseded by `#[panic_handler]`
2018-11-02 02:22:30 +03:00
Vadim Petrochenkov
89cf577c73
Fix tracking issue numbers for some unstable features
2018-11-02 02:21:55 +03: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
Esteban Küber
adb96ec64b
Provide specific label for patern parsing error
2018-10-28 14:38:00 -07:00
Esteban Küber
d491734b15
Point at match when a parse failure ocurrs inside of it
2018-10-28 11:41:23 -07:00
Esteban Küber
ea57134607
Produce targeted diagnostic when using doc comments on fn args
...
Before parsing argument names and types, try to consume an incorrectly
included doc comment or attribute in order to recover and continue
parsing the rest of the fn definition.
2018-10-28 11:38: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