Commit graph

7898 commits

Author SHA1 Message Date
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
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
csmoe
30c6698193 handle errors based on parse_sess 2018-10-20 11:11:31 +08:00
csmoe
2ed2d1a7e6 suggest to remove prefix b in lint string 2018-10-20 11:11:31 +08:00
Oliver Scherer
3c9258e604 Prefer Default::default over FxHash*::default in struct constructors 2018-10-19 14:34:44 +02:00
Oliver Scherer
ee81739dc1 Deprecate the FxHashMap() and FxHashSet() constructor function hack 2018-10-19 14:34:44 +02:00
ljedrz
d28aed6dc4 Prefer unwrap_or_else to unwrap_or in case of function calls/allocations 2018-10-19 09:45:45 +02:00
Manish Goregaokar
78765e5244
Rollup merge of #55025 - ehuss:missing-lifetime-err-msg, r=petrochenkov
Add missing lifetime fragment specifier to error message.

A very minor issue, `lifetime` was missing from the error list.
I left `literal` in the list, even though it is unstable. It looks like it may stabilize soon anyways.
2018-10-15 10:15:15 -07:00
Donato Sciarra
406cbf1a39 Support underscore as constant name
Issue: 54912
2018-10-14 10:14:58 +02:00
Eric Huss
09f42dd902 Add missing lifetime fragment specifier to error message.
A very minor issue, `lifetime` was missing from the error list.
I left `literal` in the list, even though it is unstable. It looks like it may stabilize soon anyways.
2018-10-12 17:51:48 -07:00
kennytm
644dbf99ed
Rollup merge of #54967 - holmgr:master, r=estebank
Remove incorrect span for second label inner macro invocation

A fix for issue #54841
2018-10-12 22:04:16 +08:00
bors
849a0e9c40 Auto merge of #53933 - GuillaumeGomez:codeblock-error-display, r=QuietMisdreavus
Improve error display for codeblocks in rustdoc

Part of #53919.

r? @QuietMisdreavus
2018-10-12 09:23:10 +00:00
bors
a534216fa6 Auto merge of #54850 - mcr431:fix-54707-trait-function-from-macro, r=nikomatsakis
Fix #54707 - parse_trait_item_ now handles interpolated blocks as function body decls

Fix #54707 - parse_trait_item_ now handles interpolated blocks as function body decls

Previously parsing trait items only handled opening brace token and semicolon, I added a branch to the match statement that will also handle interpolated blocks.
2018-10-11 09:19:23 +00:00
Esteban Küber
c77a0cf588 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>>;
}
```
2018-10-10 16:54:17 -07:00
Manish Goregaokar
e1e628ec87 Rollup merge of #54893 - dsciarra:issue-54379, r=pnkfelix
Fixes #47311.
r? @nrc
2018-10-10 15:59:21 -07:00
Manish Goregaokar
50e410c240 Rollup merge of #54870 - flip1995:stabilize_tool_lints, r=Manishearth
Fixes #47311.
r? @nrc
2018-10-10 15:59:20 -07:00
Manish Goregaokar
8ebc6d6dbb Rollup merge of #54862 - Havvy:cfg_attr_multi, r=petrochenkov
Fixes #47311.
r? @nrc
2018-10-10 15:58:40 -07:00
holmgr
05bb22d9e8 Remove incorrect span for second label inner macro invocation 2018-10-10 19:39:16 +02:00
flip1995
dc2343c1a8 Update feature-gate listing 2018-10-09 16:38:34 -07:00
Matthew Russo
344747330c parse_trait_item_ now handles interpolated blocks as function body decls 2018-10-08 22:50:34 -04:00
Havvy (Ryan Scheel)
bbe832d570 cfg-attr-multi: Change issue number to actual tracking issue 2018-10-07 21:48:28 -07:00