82601 Commits

Author SHA1 Message Date
varkor
aa3b5c58e4 Fix diagnostic regression 2018-08-20 16:16:39 +01:00
Dmytro Shynkevych
79a905ef30 Added explicit optimization flag to test 2018-08-20 11:13:45 -04:00
Dmytro Shynkevych
0dd10af5ad Revert accidental submodule change 2018-08-20 07:45:47 -04:00
Corey Farwell
993fb93464 Replace usages of ptr::offset with ptr::{add,sub}. 2018-08-20 07:28:34 -04:00
bors
bf1e461173 Auto merge of #47562 - Centril:feature/core_convert_id, r=oli-obk
Add the identity function as core::convert::identity

## New notes

This implements rust-lang/rfcs#2306 (see https://github.com/rust-lang/rust/issues/53500).

## Old notes (ignore this in new reviews)

Adds the identity function `fn id<T>(x: T) -> T { x }` to core::convert and the prelude.
Some motivations for why this is useful are explained in the doc tests.
Another is that using the identity function instead of `{ x }` or `|x| x` makes it clear that you intended to use an identity conversion on purpose.

The reasoning:
+ behind adding this to `convert` and not `mem` is that this is an identity *conversion*.
+ for adding this to the prelude is that it should be easy enough to use that the ease of writing your own identity function or using a closure `|x| x` doesn't overtake that.

I've separated this out into two feature gates so that the addition to the prelude can be considered and stabilized separately.

cc @bluss
2018-08-20 09:09:55 +00:00
Sébastien Duquette
5a23a0d283 Set applicability for more suggestions. 2018-08-20 03:56:06 -04:00
Mazdak Farrokhzad
86641d97b2
core::convert::identity: fix issue number to #53500 2018-08-20 09:16:56 +02:00
Alex Crichton
9d54bf8df2 Buffer LLVM's object output stream
In some profiling on OSX I saw the `write` syscall as quite high up on
the profiling graph, which is definitely not good! It looks like we're
setting the output stream of an object file as directly to a file
descriptor which means that we run the risk of doing lots of little
writes rather than a few large writes.

This commit fixes this issue by adding a buffered stream on the output,
causing the `write` syscall to disappear from the profiles on OSX.
2018-08-19 23:46:32 -07:00
bors
758239c9c9 Auto merge of #53519 - Manishearth:clippyup, r=eddyb
Update clippy

r? @oli-obk @eddyb
2018-08-20 06:34:09 +00:00
Dmytro Shynkevych
0b83914613 Renamed test to match actual issue number 2018-08-20 02:19:28 -04:00
Nicholas Nethercote
e7e9f2e699 Remove IdxSet typedef and Rename {,Hybrid}IdxSetBuf as {,Hybrid}IdxSet.
Now that the `Buf` vs. non-`Buf` distinction has been removed, it makes
sense to drop the `Buf` suffix and use the shorter names everywhere.
2018-08-20 14:00:51 +10:00
Nicholas Nethercote
ab8dfbc7bb Merge IdxSet and IdxSetBuf.
The `Buf` vs. non-`Buf` distinction is no longer necessary, and the
nastiest code in this file can be removed.

To minimize this patch, `IdxSet` is made a typedef of `IdxSetBuf`. The
next patch will remove this typedef.
2018-08-20 14:00:51 +10:00
Nicholas Nethercote
04b50e22bb Convert AllSets::on_entry_sets to a Vec<IdxSetBuf<E>>.
This makes it more like `AllSets::{gen,kill}_set`, removes the need for
a bunch of bitset range computations, and removes the need for `Bits`.

It's marginally less efficient, because we have to allocate one bitset
per basic block instead of one large shared bitset, but the difference
is negligible in practice.
2018-08-20 14:00:51 +10:00
Manish Goregaokar
7e5a2b21de Update clippy 2018-08-19 19:17:24 -07:00
bors
d2048b6db3 Auto merge of #52101 - japaric:linker-flavor, r=alexcrichton
try to infer linker flavor from linker name and vice versa

This is a second take on PR #50359 that implements the logic proposed in https://github.com/rust-lang/rust/pull/50359#pullrequestreview-116663121

With this change it would become possible to link `thumb*` binaries using GNU's LD on stable as `-C linker=arm-none-eabi-ld` would be enough to change both the linker and the linker flavor from their default values of `arm-none-eabi-gcc` and `gcc`.

To link `thumb*` binaries using rustc's LLD on stable `-Z linker-flavor` would need to be stabilized as `-C linker=rust-lld -Z linker-flavor=ld.lld` are both required to change the linker and the linker flavor, but this PR doesn't propose that. We would probably need some sort of stability guarantee around `rust-lld`'s name and availability to make linking with rustc's LLD truly stable.

With this change it would also be possible to link `thumb*` binaries using a system installed LLD on stable using the `-C linker=ld.lld` flag (provided that `ld.lld` is a symlink to the system installed LLD).

r? @alexcrichton
2018-08-20 01:12:58 +00:00
Scott McMurray
0095471417 Switch out another use of do catch 2018-08-19 17:51:02 -07:00
Vadim Petrochenkov
7e8825b4ec resolve: Continue search in outer scopes after applying derive resolution fallback 2018-08-20 03:46:21 +03:00
Scott McMurray
e4280852ae Make a try-blocks folder for all the try{} UI tests 2018-08-19 17:08:30 -07:00
Scott McMurray
5cf387c4f4 Update try-block tests to work under NLL 2018-08-19 16:53:43 -07:00
Scott McMurray
9f683bed3d Rename catch_expr feature to try_blocks 2018-08-19 16:53:43 -07:00
Scott McMurray
817efc2489 Suggest try if someone uses do catch 2018-08-19 16:53:42 -07:00
Scott McMurray
91967a8f16 Put try in the reserved list, not the in-use list 2018-08-19 16:53:41 -07:00
Scott McMurray
ef198867a7 Fix the unstable book
I ignored the code block as I didn't see a way to run the doctest in 2018 -- I noticed the edition guide is also not testing its 2018 code snippits.
2018-08-19 16:53:41 -07:00
Scott McMurray
9e64ce1799 Parse try blocks with the try keyword instead of do catch placeholder 2018-08-19 16:53:05 -07:00
varkor
ae81fc61d0 Fix ICE 2018-08-20 00:39:58 +01:00
Scott McMurray
1c906093f9 Add try to syntax_pos as an edition-2018-only keyword 2018-08-19 16:30:53 -07:00
Scott McMurray
f2445fb507 Rename Catch variants to TryBlock
(Not `Try` since `QuestionMark` is using that.)
2018-08-19 16:30:53 -07:00
bors
6bf6d50a6f Auto merge of #52953 - dsciarra:mv-codemap-sourcemap, r=petrochenkov
Rename CodeMap/FileMap to SourceMap/SourceFile

A first renaming for #51574
2018-08-19 23:08:26 +00:00
varkor
b5c2470ba3 Update new ui tests 2018-08-20 00:08:01 +01:00
varkor
798b9ff9d5 Tweak comments 2018-08-19 23:10:18 +01:00
Jorge Aparicio
a6f4ae864e fix: preserve msvc linker fallback logic 2018-08-19 23:59:20 +02:00
varkor
25b62679e9 Taking a peek 2018-08-19 22:31:41 +01:00
Vadim Petrochenkov
7b47fd793f resolve: Reject some inaccessible candidates sooner during import resolution
This allows import resolution to progress in cases like #53140
2018-08-20 00:07:08 +03:00
bors
f28f648a96 Auto merge of #53316 - tristanburgess:52895_existential_type_ICE, r=oli-obk
52985: cause cycle err on inf trait normalization

Issue: #52985
 - If an existential type is defined, but no user code infers the
concrete type behind the existential type, normalization would
infinitely recurse on this existential type which is only defined in
terms of itself.
  - Instead of raising an inf recurse error, we cause a cycle error to
help highlight that the issue is that the type is only defined in terms
of itself.
  - Three known potential improvements:
    - If type folding itself was exposed as a query, used by
normalization and other mechanisms, cases that would cause infinite recursion would
automatically cause a cycle error.
    - The span for the cycle error should be improved to point to user
code that fails to allow inference of the concrete type of the existential type,
assuming that this error occurs because no user code can allow inference the
concrete type.
    - A mechanism to extend the cycle error with a helpful note would be nice. Currently,
the error is built and maintained by src/librustc/ty/query/plumbing,
with no known way to extend the information that the error gets built
with.

r? @oli-obk
2018-08-19 21:03:12 +00:00
Donato Sciarra
6138c82803 fix tidy errors 2018-08-19 23:01:01 +02:00
Donato Sciarra
a2ff845f3a mv CachingCodemapView CachingSourceMapView 2018-08-19 23:01:01 +02:00
Donato Sciarra
062bfbf39b mv codemap source_map 2018-08-19 23:01:01 +02:00
Donato Sciarra
d3fe97f3d3 mv codemap() source_map() 2018-08-19 23:01:01 +02:00
Donato Sciarra
82607d2cf3 mv (mod) codemap source_map 2018-08-19 23:01:00 +02:00
Donato Sciarra
cbd0595710 mv filemap source_file 2018-08-19 23:00:59 +02:00
Donato Sciarra
d6dcbcd4e1 mv FileMap SourceFile 2018-08-19 23:00:59 +02:00
Donato Sciarra
c655473378 mv CodeMap SourceMap 2018-08-19 23:00:59 +02:00
Mazdak Farrokhzad
b7772e6c9e convert-id: tests for const gating. 2018-08-19 21:06:43 +02:00
varkor
4722744e4d Fix some remaining tests 2018-08-19 20:03:02 +01:00
varkor
03c4628a5b Avoid clone and update documentation 2018-08-19 20:03:02 +01:00
varkor
04d33bbdb3 Refactor generic argument count check in check/mod.rs 2018-08-19 20:03:02 +01:00
varkor
68b0e7dd99 Refactor generic argument count check in method/confirm.rs 2018-08-19 20:02:34 +01:00
varkor
49c45734c0 Refactor generic argument count check in astconv 2018-08-19 20:02:34 +01:00
varkor
a14bc713e7 Add Default for GenericParamCount 2018-08-19 20:02:34 +01:00
varkor
7c9f7c2fa3 Args first, then params 2018-08-19 20:02:34 +01:00