Commit Graph

7935 Commits

Author SHA1 Message Date
kennytm 98bc7d63fb Rollup merge of #55805 - nnethercote:mv-static_assert, r=Mark-Simulacrum
Move `static_assert!` into librustc_data_structures
2018-11-13 19:20:28 +08:00
Nicholas Nethercote 2bd4d5b1a0 Move two static_assert!s to better spots.
And make them x86_64-only so they can use `==` instead of `<=`.
2018-11-13 11:30:43 +11:00
Nicholas Nethercote fb3dd9f64e Add a static assertion about the size of ast::Expr. 2018-11-13 06:37:16 +11:00
Niko Matsakis 68e76dca09 Make MatcherPos::stack a SmallVec.
This avoids some allocations.
2018-11-12 11:37:18 +11:00
Mark Rousskov 686de87d2f Rollup merge of #55777 - nnethercote:less-P-in-ast, r=petrochenkov
Use `Lit` rather than `P<Lit>` in `ast::ExprKind`.

Because it results in fewer allocations and small speedups on some
benchmarks.
2018-11-08 18:15:19 -07:00
Nicholas Nethercote 706c2ad651 Use Lit rather than P<Lit> in ast::ExprKind.
Because it results in fewer allocations and small speedups on some
benchmarks.
2018-11-08 19:00:55 +11:00
kennytm 9d9146ad95 Rollup merge of #55734 - teresy:shorthand-fields, r=davidtwco
refactor: use shorthand fields

refactor: use shorthand for single fields everywhere (excluding tests).
2018-11-07 21:27:00 +08:00
kennytm 0708a6a717 Rollup merge of #55510 - bitshifter:repr-feature-gate-fix, r=petrochenkov
Fix feature gate only being checked on first repr attr.

Reported in https://github.com/rust-lang/rust/issues/33158#issuecomment-412185357.
2018-11-07 18:01:53 +08:00
teresy eca11b99a7 refactor: use shorthand fields 2018-11-06 15:05:44 -05:00
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
Cameron Hart d22ae75c9d Fix feature gate only being checked on first repr attr. 2018-10-31 03:28:06 +11: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