Alex Crichton
7cf4cb5a7b
Rollup merge of #48265 - SimonSapin:nonzero, r=KodrAus
...
Add 12 num::NonZero* types for primitive integers, deprecate core::nonzero
RFC: https://github.com/rust-lang/rfcs/pull/2307
Tracking issue: ~~https://github.com/rust-lang/rust/issues/27730~~ https://github.com/rust-lang/rust/issues/49137
Fixes https://github.com/rust-lang/rust/issues/27730
2018-03-23 09:27:06 -05:00
kennytm
d54f74ea0a
Rollup merge of #49244 - varkor:type_dependent_defs_ExprMethodCall, r=estebank
...
Fix type_dependent_defs ICE on method calls
Fixes #49241 .
2018-03-22 22:43:55 +08:00
kennytm
70ae9174ee
Rollup merge of #49211 - varkor:chalk-lowering-Implemented-From-Env, r=nikomatsakis
...
Implement Chalk lowering rule "Implemented-From-Env"
This extends the Chalk lowering pass with the "Implemented-From-Env" rule for generating program clauses from a trait definition as part of #49177 .
r? @nikomatsakis
2018-03-22 22:43:47 +08:00
varkor
3272b63f34
Moved test to ui
2018-03-21 21:00:38 +00:00
Niko Matsakis
f71de45b23
use subtyping when we create a closure instead of for upvar types
...
We used to make the upvar types in the closure `==` but that was
stronger than we needed. Subtyping suffices, since we are copying the
upvar value into the closure field. This in turn allows us to infer
smaller lifetimes in captured values in some cases (like the example
here), avoiding errors.
2018-03-21 05:40:59 -04:00
Niko Matsakis
fc3c90cf8a
report an error if we see an unexpected lifetime in impl Trait
...
But leave closure substs alone.
2018-03-21 05:40:59 -04:00
varkor
7791995ad5
Add unit test for Implemented-From-Env
2018-03-20 15:23:54 +00:00
bors
75af15ee6c
Auto merge of #49190 - kennytm:rollup, r=kennytm
...
Rollup of 17 pull requests
- Successful merges: #46518 , #48810 , #48834 , #48902 , #49004 , #49092 , #49096 , #49099 , #49104 , #49125 , #49139 , #49152 , #49157 , #49161 , #49166 , #49176 , #49184
- Failed merges:
2018-03-20 10:18:34 +00:00
kennytm
c152e98a75
Rollup merge of #49166 - dileepbapat:pr-49133, r=nikomatsakis
...
#49133 - Reworded the Error message: "`pub` not needed here" message
2018-03-20 11:39:45 +08:00
kennytm
cfb531748f
Rollup merge of #49157 - estebank:const-into, r=oli-obk
...
Do not suggest `.into()` in `const`s
Fix #49100 .
2018-03-20 11:39:42 +08:00
Vadim Petrochenkov
7c90189e13
Stabilize slice patterns without ..
...
Merge `feature(advanced_slice_patterns)` into `feature(slice_patterns)`
2018-03-20 02:27:40 +03:00
kennytm
73846dca7b
Rollup merge of #49104 - csmoe:semicolon_error, r=petrochenkov
...
improve error message of inner attribute syntax
Fixes #49040
2018-03-20 07:15:23 +08:00
kennytm
49b584ce60
Rollup merge of #48834 - ysiraichi:suggest-remove-ref, r=estebank
...
Suggest removing `&`s
This implements the error message discussed in #47744 .
We check whether removing each `&` yields a type that satisfies the requested obligation.
Also, it was created a new `NodeId` field in `ObligationCause` in order to iterate through the `&`s. The way it's implemented now, it iterates through the obligation snippet and counts the number of `&`.
r? @estebank
2018-03-20 07:15:15 +08:00
Esteban Küber
1b8f1fc2d9
Do not suggest .into() in consts
2018-03-19 11:18:35 -07:00
Dileep Bapat
a8f59aaef9
#49133 - Reworded the Error message: "pub not needed here" message
2018-03-19 19:22:36 +05:30
Yukio Siraichi
74a4928ed4
Review fixes.
...
- `span_suggestion` changed to `span_suggestion_short`;
- `Span` used changed to contain only `&` refs;
- Tests passing.
2018-03-18 20:46:28 -03:00
Yukio Siraichi
f6bffd16d1
Rebased with master.
2018-03-18 20:46:28 -03:00
Yukio Siraichi
52cd07aef7
Created multiple line test.
2018-03-18 20:46:28 -03:00
Yukio Siraichi
f44b945e0e
New test added.
2018-03-18 20:46:27 -03:00
Yukio Siraichi
e0fb0132c1
Test added.
2018-03-18 20:46:27 -03:00
bors
7c396ebd0b
Auto merge of #48985 - scalexm:lowering, r=nikomatsakis
...
MVP for chalkification
r? @nikomatsakis
2018-03-18 07:35:43 +00:00
Simon Sapin
67f46ce112
Use num::NonZero* instead of NonZero<_> in rustc and tests
2018-03-17 23:07:40 +01:00
Vadim Petrochenkov
ed5ea5c705
Reject _ in ident matcher
2018-03-17 22:08:18 +03:00
Vadim Petrochenkov
5d06c890fe
syntax: Make _ an identifier
2018-03-17 22:08:07 +03:00
csmoe
9f5a356c1d
improve attribute trailing semicolon error
2018-03-17 21:23:41 +08:00
kennytm
f24e35cabd
Rollup merge of #49077 - sinkuu:macro_use_typo, r=estebank
...
Checks for unknown attributes before aborting due to unresolved macros
Fixes #49074
The ``attribute `...` is currently unknown to the compiler`` error was not shown if there are any unresolved macros, which might be caused by mistyped `macro_use`.
2018-03-17 17:20:47 +08:00
kennytm
c9d06a4a4e
Rollup merge of #48960 - nikomatsakis:issue-48468-dyn-trait-elision, r=cramertj
...
resolve `'_` in `dyn Trait` just like ordinary elision
r? @cramertj
Fixes #48468
2018-03-17 17:20:42 +08:00
bors
5f3996c3ec
Auto merge of #48813 - sinkuu:build_in_assert_macro, r=alexcrichton
...
Make `assert` a built-in procedural macro
Makes `assert` macro a built-in one without touching its functionality. This is a prerequisite for RFC 2011 (#44838 ).
2018-03-16 08:22:11 +00:00
Shotaro Yamada
4be3e96b80
Checks for unknown attributes before aborting
...
...due to unresolved macros.
2018-03-16 16:53:40 +09:00
bors
36b6687318
Auto merge of #49051 - kennytm:rollup, r=kennytm
...
Rollup of 17 pull requests
- Successful merges: #48706 , #48875 , #48892 , #48922 , #48957 , #48959 , #48961 , #48965 , #49007 , #49024 , #49042 , #49050 , #48853 , #48990 , #49037 , #49049 , #48972
- Failed merges:
2018-03-16 00:09:14 +00:00
kennytm
a199fb2319
Rollup merge of #49037 - estebank:coherence-tweaks, r=nikomatsakis
...
Coherence diagnostic tweaks
2018-03-16 05:38:11 +08:00
kennytm
55a0075a20
Rollup merge of #49042 - kennytm:fix-e0307-typo, r=rkruppe
...
Remove unnecessary "`" in error message E0307 (invalid self type).
2018-03-16 05:35:20 +08:00
kennytm
5a7aa6cae5
Rollup merge of #49007 - estebank:follow-up-47574, r=oli-obk
...
Some tweaks to "type parameters from outer function" diagnostic
Follow up to #47574 .
2018-03-16 05:35:12 +08:00
Esteban Küber
4d5cd21a0d
Coherence diagnostic tweaks
2018-03-15 11:59:54 -07:00
kennytm
e1d19df9a5
Rollup merge of #48922 - petrochenkov:asunder, r=nikomatsakis
...
Implement import renaming with `_` (RFC 2166)
cc https://github.com/rust-lang/rust/issues/48216
2018-03-16 01:49:42 +08:00
kennytm
a45b79ddb7
Rollup merge of #48706 - ehuss:main-not-found-in-crate, r=estebank
...
Add crate name to "main function not found" error message.
Fixes #44798 and rust-lang/cargo#4948 .
I was wondering if it might be cleaner to update the ui tests to add a simple `fn main() {}` for the unrelated tests. Let me know if you would prefer that.
2018-03-16 01:49:38 +08:00
bors
3926453944
Auto merge of #47813 - kennytm:stable-incl-range, r=nrc
...
Stabilize inclusive range (`..=`)
Stabilize the followings:
* `inclusive_range` — The `std::ops::RangeInclusive` and `std::ops::RangeInclusiveTo` types, except its fields (tracked by #49022 separately).
* `inclusive_range_syntax` — The `a..=b` and `..=b` expression syntax
* `dotdoteq_in_patterns` — Using `a..=b` in a pattern
cc #28237
r? @rust-lang/lang
2018-03-15 16:00:40 +00:00
bors
ff2d506c2c
Auto merge of #48138 - estebank:issue-45092, r=nikomatsakis
...
Reword E0044 and message for `!Send` types
- Reword E0044 help.
- Change error message for types that don't implement `Send`
CC #45092 , #46678 , #24909 , #33307 .
2018-03-15 13:16:09 +00:00
kennytm
b6ec75fe62
Remove unnecessary "`" in error message E0307 (invalid self type).
2018-03-15 17:59:17 +08:00
kennytm
6399d16cfd
Disallow &a..=b and box a..=b in pattern.
...
They are disallowed because they have different precedence than
expressions. I assume parenthesis in pattern will be soon stabilized and
thus write that as suggestion directly.
2018-03-15 16:58:03 +08:00
kennytm
a4d80336c9
Stabilize dotdoteq_in_patterns language feature.
...
Stabilize `match 2 { 1..=3 => {} }`.
2018-03-15 16:58:02 +08:00
kennytm
92d1f8d8e4
Stabilize inclusive_range_syntax language feature.
...
Stabilize the syntax `a..=b` and `..=b`.
2018-03-15 16:58:02 +08:00
bors
a4af6f089b
Auto merge of #48648 - snf:fallible_allocation, r=Kimundi
...
Fallible allocation
Implementing RFC#2116 [Fallible Allocation](https://github.com/rust-lang/rust/issues/48043 ) .
Work in progress. Initially adding @Gankro's try_reserve for Vec.
2018-03-15 08:18:58 +00:00
Esteban Küber
1bbd4fd395
Add span label to E0044
2018-03-14 19:14:30 -07:00
Esteban Küber
bfc66daef9
Review comment: remove mention of move closure
2018-03-14 18:05:55 -07:00
Esteban Küber
cb5667eaa5
Make hint clearer, with the potential of being wrong
2018-03-14 18:04:21 -07:00
Esteban Küber
fe1975448c
Suggest using move when trying to share ...::channel::{Receiver, Sender}
...
Extend `rustc_on_unimplemented` to match on ADT without evaluating type
arguments.
2018-03-14 18:04:20 -07:00
Esteban Küber
6d8a173980
Reword E0044 and message for !Send types
...
- Reword E0044 help.
- Change error message for types that don't implement `Send`
2018-03-14 18:04:20 -07:00
bors
5ebf74851d
Auto merge of #47630 - canndrew:exhaustive-patterns, r=nikomatsakis
...
Stabilise feature(never_type). Introduce feature(exhaustive_patterns)
This stabilizes `!`, removing the feature gate as well as the old defaulting-to-`()` behavior. The pattern exhaustiveness checks which were covered by `feature(never_type)` have been moved behind a new `feature(exhaustive_patterns)` gate.
2018-03-14 23:43:04 +00:00
Niko Matsakis
f9bf827055
resolve '_ in dyn Trait just like ordinary elision
...
cc #48468
2018-03-14 19:39:28 -04:00