bors
357bf00f1c
Auto merge of #48925 - zackmdavis:fn_must_stabilize, r=nikomatsakis
...
stabilize `#[must_use]` for functions and must-use comparison operators (RFC 1940)
r? @nikomatsakis
2018-04-30 22:02:33 +00:00
Guillaume Gomez
135ee85aba
Rename "show type declaration" to "show declaration"
2018-04-30 22:32:17 +02:00
Niko Matsakis
149ab1bc39
put ReSkolemized into the global tcx
2018-04-30 14:06:46 -04:00
Niko Matsakis
69400751ab
make needs_infer specific to inference variables
...
Notably, excluding ReSkolemized
2018-04-30 14:06:45 -04:00
kennytm
f70b2ebd08
new() should be const; start()/end() after iteration is unspecified.
2018-05-01 01:45:18 +08:00
kennytm
c916ee8511
Removed direct field usage of RangeInclusive in rustc itself.
2018-05-01 01:45:18 +08:00
Niko Matsakis
2e59e467a0
remove some (apparently) dead code
2018-04-30 13:36:43 -04:00
bors
17841cc97a
Auto merge of #50345 - kennytm:rollup, r=kennytm
...
Rollup of 7 pull requests
Successful merges:
- #50233 (Make `Vec::new` a `const fn`)
- #50312 (Add more links in panic docs)
- #50316 (Fix some broken links in docs.)
- #50325 (Add a few more tests for proc macro feature gating)
- #50327 (Display correct unused field suggestion for nested struct patterns)
- #50330 (check that #[used] is used only on statics)
- #50344 (Update Cargo to 2018-04-28 122fd5be5201913d42e219e132d6569493583bca)
Failed merges:
2018-04-30 17:30:55 +00:00
kennytm
6166f20571
Rollup merge of #50344 - SimonSapin:cargo, r=alexcrichton
...
Update Cargo to 2018-04-28 122fd5be5201913d42e219e132d6569493583bca
2018-05-01 01:18:43 +08:00
kennytm
909ba8aa78
Rollup merge of #50330 - japaric:used, r=nagisa
...
check that #[used] is used only on statics
this attribute has no effect on other items. This makes the implementation match what's described in the RFC.
cc #40289
r? @nagisa
2018-05-01 01:18:41 +08:00
kennytm
cbbdf998ed
Rollup merge of #50327 - varkor:match-unused-struct-field, r=estebank
...
Display correct unused field suggestion for nested struct patterns
Extends https://github.com/rust-lang/rust/pull/47922 by checking more sophisticated patterns (e.g. references, slices, etc.).
Before:
```
warning: unused variable: `bar`
--> src/main.rs:37:21
|
37 | &Foo::Bar { bar } => true,
| ^^^ help: consider using `_bar` instead
|
= note: #[warn(unused_variables)] on by default
```
After:
```
warning: unused variable: `bar`
--> src/main.rs:37:21
|
37 | &Foo::Bar { bar } => true,
| ^^^ help: try ignoring the field: `bar: _`
|
= note: #[warn(unused_variables)] on by default
```
Fixes #50303 .
r? @estebank
2018-05-01 01:18:40 +08:00
kennytm
30c990b693
Rollup merge of #50325 - petrochenkov:pmgate, r=alexcrichton
...
Add a few more tests for proc macro feature gating
2018-05-01 01:18:39 +08:00
kennytm
b239293895
Rollup merge of #50316 - ehuss:fix-doc-links, r=frewsxcv
...
Fix some broken links in docs.
2018-05-01 01:18:38 +08:00
kennytm
1308d99cac
Rollup merge of #50312 - Pazzaz:master, r=GuillaumeGomez
...
Add more links in panic docs
Fixes #48695 by adding a link to `AssertUnwindSafe`. Also added some other links in the module's docs to make things clearer.
2018-05-01 01:18:37 +08:00
kennytm
b88c152784
Rollup merge of #50233 - mark-i-m:const_vec, r=kennytm
...
Make `Vec::new` a `const fn`
`RawVec::empty/_in` are a hack. They're there because `if size_of::<T> == 0 { !0 } else { 0 }` is not allowed in `const` yet. However, because `RawVec` is unstable, the `empty/empty_in` constructors can be removed when #49146 is done...
2018-05-01 01:18:36 +08:00
Oliver Schneider
f66367dacc
Improve div by zero const eval errors
2018-04-30 18:29:15 +02:00
Oliver Schneider
1f3cb926a2
Update Cargo.lock
2018-04-30 18:29:15 +02:00
Oliver Schneider
01158eaec6
Unify MIR assert messages and const eval errors
2018-04-30 18:29:15 +02:00
Oliver Schneider
5f46e5cc7e
Update ui test output
2018-04-30 18:18:33 +02:00
Oliver Schneider
cefcf0548e
Merge ConstMathError into EvalErrorKind
2018-04-30 18:18:33 +02:00
Oliver Schneider
671b2a5964
Remove the rustc_const_math
crate
2018-04-30 18:18:33 +02:00
Oliver Schneider
cf103e56bd
Reintroduce the float parsing error
2018-04-30 18:18:33 +02:00
Oliver Schneider
40b118cf47
Remove ConstFloat
2018-04-30 18:18:33 +02:00
Oliver Schneider
f45d0f3783
Removed unused dependencies on rustc_const_math
2018-04-30 18:18:33 +02:00
Oliver Schneider
a9366aa874
Remove unused const math ops
2018-04-30 18:18:33 +02:00
Oliver Schneider
d1d8d999ba
Remove unused const error variant
2018-04-30 18:18:32 +02:00
Oliver Schneider
0aa6e039d0
Remove the UnequalTypes
error variant
2018-04-30 18:18:32 +02:00
Oliver Schneider
7d982fdcf4
Implement PartialCmp
for ConstFloat
2018-04-30 18:18:32 +02:00
Oliver Schneider
7def638e42
Comment typo
2018-04-30 18:18:32 +02:00
Oliver Schneider
21c2b71405
Remove unused error variants
2018-04-30 18:18:32 +02:00
bors
4745092d60
Auto merge of #50163 - kornelski:error, r=Kimundi
...
Bury Error::description()
Second attempt of #49536 https://github.com/rust-lang/rfcs/pull/2230
The exact wording of the default implementation is still up in the air, but I think it's a detail that can be amended later.
2018-04-30 15:17:01 +00:00
Simon Sapin
21941c8129
Update Cargo to 2018-04-28 122fd5be5201913d42e219e132d6569493583bca
2018-04-30 17:04:42 +02:00
kennytm
fba903a435
Make the fields of RangeInclusive private.
...
Added new()/start()/end() methods to RangeInclusive.
Changed the lowering of `..=` to use RangeInclusive::new().
2018-04-30 21:01:13 +08:00
bors
64e6dda0bc
Auto merge of #50326 - ollie27:rustdoc_cross_crate_const_link, r=GuillaumeGomez
...
rustdoc: Fix links to constants in external crates
r? @GuillaumeGomez
2018-04-30 10:30:14 +00:00
Nicholas Nethercote
989815d567
Extend Printer::buf on demand.
...
So that 55 entries (at 48 bytes each) don't need to be eagerly
initialized on creation.
This speeds up numerous rust-perf benchmark runs, by up to 3%.
2018-04-30 19:24:24 +10:00
bors
7fbc4d881d
Auto merge of #50272 - scottmcm:termination-test-error, r=nikomatsakis
...
Add a ui test for an incorrect Result success type in a #[test]
cc https://github.com/rust-lang/rust/issues/48854#issuecomment-384730601
r? @nikomatsakis
2018-04-30 07:48:50 +00:00
Jorge Aparicio
bd4ebf28bd
check that #[used] is used only on statics
2018-04-30 07:43:22 +02:00
bors
9ff8ec8fdf
Auto merge of #50204 - Manishearth:approx-enum, r=estebank
...
Use enum for approximate suggestions
r? @nrc @killercup
2018-04-30 05:38:06 +00:00
bors
f900bcf35c
Auto merge of #50261 - nrc:update, r=kennytm
...
Update Rustfmt
r? @kennytm
Updates rustfmt, should fix the broken tests, but I can't reproduce locally, so who knows?
2018-04-30 02:32:52 +00:00
Nick Cameron
410e2011bd
Update Rustfmt
2018-04-30 14:10:30 +12:00
varkor
2eb8343af1
Correct unused field warning on struct match container patterns
2018-04-30 01:27:37 +01:00
bors
78bcd9b5fe
Auto merge of #50092 - abonander:issue-49934, r=petrochenkov
...
Warn on pointless #[derive] in more places
This fixes the regression in #49934 and ensures that unused `#[derive]` invocations on statements, expressions and generic type parameters survive to trip the `unused_attributes` lint. There is a separate warning hardcoded for `#[derive]` on macro invocations since linting (even the early-lint pass) occurs after expansion. This also adds regression tests for some nodes that were already warning properly.
closes #49934
2018-04-30 00:18:49 +00:00
varkor
8e8fe9042c
Correct unused field warning on box struct match
2018-04-30 00:51:02 +01:00
varkor
cc53db8bf9
Correct unused field warning on &struct match
2018-04-30 00:40:11 +01:00
Austin Bonander
f16d2ff7ec
Warn on pointless #[derive]
in more places
...
This fixes the regression in #49934 and ensures that unused `#[derive]`s on statements, expressions and generic type parameters survive to trip the `unused_attributes` lint. For `#[derive]` on macro invocations it has a hardcoded warning since linting occurs after expansion. This also adds regression testing for some nodes that were already warning properly.
closes #49934
2018-04-29 16:01:41 -07:00
Oliver Middleton
7232df7d5a
rustdoc: Fix links to constants in external crates
2018-04-29 23:28:39 +01:00
Mark Mansi
f9f992379d
heh, logic is hard
2018-04-29 17:27:17 -05:00
Vadim Petrochenkov
0a6e91bdbc
Add a few more tests for proc macro feature gating
2018-04-30 01:19:12 +03:00
Mark Mansi
e5280e452f
use const trick
2018-04-29 17:13:49 -05:00
bors
774a6a3c4b
Auto merge of #50317 - varkor:repr-align-assign, r=nagisa
...
Improve error message for #[repr(align=x)]
Before:
```
error[E0552]: unrecognized representation hint
--> src/main.rs:1:8
|
1 | #[repr(align="8")]
| ^^^^^^^^^
```
After:
```
error[E0693]: incorrect `repr(align)` attribute format
--> src/main.rs:1:8
|
2 | #[repr(align="8")]
| ^^^^^^^^^ help: use parentheses instead: `align(8)`
```
Fixes #50314 .
2018-04-29 21:55:50 +00:00