Commit Graph

78767 Commits

Author SHA1 Message Date
Matt Brubeck
37cbd11a9f Update nomicon link in transmute docs
The list of "invalid primitive values" has moved to a different URL
within the Rustonomicon.
2018-05-25 11:47:48 -07:00
varkor
d5bf4de0e4 --bless the tests 2018-05-25 17:31:45 +01:00
varkor
03d816fd93 Add a test for returning inside a while loop 2018-05-25 16:53:32 +01:00
varkor
a38a1ce29c Fix behaviour of divergence in while loop conditions
This fixes `'a: while break 'a {};` being treated as diverging, by tracking break expressions in the same way as in `loop` expressions.
2018-05-25 16:53:32 +01:00
Jaro Fietz
5ad84cf3fa
Don't use a char that's already used within the expr 2018-05-25 16:55:38 +02:00
Jaro Fietz
7c97203e2f
Call it 2018-05-25 16:50:59 +02:00
Jaro Fietz
de12d437c9
What does an expression look like, that consists only of special characters? 2018-05-25 16:48:55 +02:00
bors
990d8aa743 Auto merge of #50967 - oli-obk:miri_api_refactor, r=eddyb
Miri api refactor

r? @eddyb

cc @Zoxc

based on https://github.com/rust-lang/rust/pull/50916
2018-05-25 13:59:48 +00:00
toidiu
3da712381d Implement outlives requirements inference for dyn and projections.
Add tests, documentation and attr for feature.
2018-05-25 09:58:00 -04:00
Oliver Schneider
5f599bb490 Adjust test for 32 bit targets 2018-05-25 15:13:54 +02:00
Felix S. Klock II
d8bd5336c9 rust-lang/rust#51025: improve test robustness so that they work under NLL too. 2018-05-25 13:00:51 +02:00
Oliver Schneider
50d3783b95 Sanity abort to_bits if used on zsts 2018-05-25 11:56:33 +02:00
bors
9823cb99c5 Auto merge of #51051 - nikomatsakis:turbofish-impl-trait-method, r=eddyb
prohibit turbofish in `impl Trait` methods

Fix #50950
2018-05-25 09:01:11 +00:00
Niko Matsakis
626818fc42 pacify the mercilous tidy 2018-05-25 04:46:42 -04:00
Oliver Schneider
eceeb63d11 Update comment 2018-05-25 10:18:57 +02:00
bors
910e29a45b Auto merge of #50998 - bobtwinkles:nll_facts_invalidate_followup, r=nikomatsakis
NLL facts invalidate followup

Refactors to share code with the rest of borrow-check.

r? @nikomatsakis
2018-05-25 06:26:26 +00:00
bors
7942022bf7 Auto merge of #50986 - estebank:main-start-span, r=nikomatsakis
Tweak `main` type arguments and where clause spans

Tweak the spans for error when finding type arguments or where clauses
in main and start functions.
2018-05-25 03:46:14 +00:00
bors
c8e10e386a Auto merge of #50879 - petrochenkov:lintconv, r=nikomatsakis
Fix naming conventions for new lints

We actually have an RFC from Oct 2014 specifying naming conventions for lints that is still relevant - https://github.com/rust-lang/rfcs/blob/master/text/0344-conventions-galore.md#lints.
Unfortunately, human memory doesn't work for such prolonged periods of time, so a number of recently added edition-related lints don't follow the conventions.
This PR fixes names for those lints.

Unstable lints, simply renamed:
- `unused_lifetime` -> `unused_lifetimes`
- `absolute_path_not_starting_with_crate` -> `absolute_paths_not_starting_with_crate`
- `unnecessary_extern_crate` -> `unnecessary_extern_crates`

New lints stabilized in the last couple of releases, registered as renamed (old names still work with a warning):
- `single_use_lifetime` -> `single_use_lifetimes`
- `elided_lifetime_in_path` -> `elided_lifetimes_in_paths`
- `bare_trait_object` -> `bare_trait_objects`
- `unstable_name_collision` -> `unstable_name_collisions`
- `unused_doc_comment` -> `unused_doc_comments`

NOT changed, too old to rename:
- `const_err` -> `const_errors`
- `unused_allocation` -> `unused_allocations`

NOT changed, deprecation lints, no need to rename, they are going to be removed anyway:
- `invalid_type_param_default` -> `invalid_type_param_defaults`
- `missing_fragment_specifier` -> `missing_fragment_specifiers`
- `tyvar_behind_raw_pointer` -> `tyvars_behind_raw_pointer`
- `illegal_floating_point_literal_pattern` -> `illegal_floating_point_literal_patterns`
2018-05-25 01:33:45 +00:00
Vadim Petrochenkov
e60eaf59df Fix naming conventions for new lints 2018-05-25 02:35:07 +03:00
bors
b86d909f86 Auto merge of #50937 - nikomatsakis:chalkify-engine-2, r=scalexm
implement the chalk-engine traits

Preliminary implementation for the Chalk traits in rustc. Lots of `panic!()` placeholders to be filled in later.

This is currently blocked on us landing https://github.com/rust-lang-nursery/chalk/pull/131  in chalk and issuing a new release, which should occur later today.

r? @scalexm
cc @leodasvacas
2018-05-24 23:10:18 +00:00
Santiago Pastorino
8429d11a0b
Use AllFacts from polonius-engine 2018-05-24 19:56:02 -03:00
Niko Matsakis
01d6ed525f restore emplacement syntax (obsolete) 2018-05-24 18:49:58 -04:00
Niko Matsakis
558cbfb19b prohibit turbofish in impl Trait methods 2018-05-24 18:43:48 -04:00
bors
c2d46037fa Auto merge of #50984 - cramertj:unpin-changes, r=aturon
Unpin changes

r? @aturon

cc @withoutboats, @RalfJung, @pythonesque, #49150
2018-05-24 20:58:12 +00:00
Guillaume Gomez
6ff9409637 Add more missing examples for Formatter 2018-05-24 22:27:19 +02:00
Oliver Schneider
0b1b26f17f
Update issue-50993.rs 2018-05-24 21:03:48 +02:00
Alex Crichton
f67453729c std: Ensure OOM is classified as nounwind
OOM can't unwind today, and historically it's been optimized as if it can't
unwind. This accidentally regressed with recent changes to the OOM handler, so
this commit adds in a codegen test to assert that everything gets optimized away
after the OOM function is approrpiately classified as nounwind

Closes #50925
2018-05-24 12:03:05 -07:00
Oliver Schneider
fb9060ac06 Revert "Ensure llvm doesn't trigger an assert for crazy transmutes"
This reverts commit 776c632e2a9a044fd134321a9d561e28994ff3ff.
2018-05-24 20:49:38 +02:00
Oliver Schneider
85de4efdd8 Rename amt variables to shift 2018-05-24 20:49:38 +02:00
Oliver Schneider
5c8741f32e Use in-band-lifetimes instead of unused explicit lifetimes 2018-05-24 20:49:38 +02:00
Oliver Schneider
80a1488601 Prefer to_value_with_len over manual expanison of it 2018-05-24 20:49:38 +02:00
Oliver Schneider
6d513f752f Remove dead code 2018-05-24 20:49:38 +02:00
Oliver Schneider
d0610fd26e Add missing newlines 2018-05-24 20:49:38 +02:00
Oliver Schneider
bdd23bf215 tcx.lift_to_global > tcx.global_tcx().lift 2018-05-24 20:49:38 +02:00
Oliver Schneider
569ae80a0a Wrongly named a closure clamp when it was doing truncation 2018-05-24 20:49:38 +02:00
Oliver Schneider
1f9fa53738 Sanity check the bits argument to the from_bits function 2018-05-24 20:49:38 +02:00
Oliver Schneider
f1ea9ef315 Remove ty_to_primitive 2018-05-24 20:49:38 +02:00
Oliver Schneider
879d8f7070 Properly check defined bits range 2018-05-24 20:49:38 +02:00
Oliver Schneider
cfd5fb5102 Reuse to_bits instead of badly reinventing it 2018-05-24 20:49:38 +02:00
Oliver Schneider
50628b7373 Only defined bits are relevant 2018-05-24 20:49:38 +02:00
Oliver Schneider
c6d25dc224 Don't ICE on horrible transmutes in pattern constants 2018-05-24 20:49:38 +02:00
Oliver Schneider
1a2964a541 Simplify a ScalarPair creation 2018-05-24 20:49:38 +02:00
Oliver Schneider
ca8c27e1c1 Ensure llvm doesn't trigger an assert for crazy transmutes 2018-05-24 20:49:38 +02:00
Oliver Schneider
bc3ba91737 Printing a fn definition needs to know nothing about its ZST's value 2018-05-24 20:49:38 +02:00
Oliver Schneider
09a996b0a6 Printing values should ignore whether bits are undefined 2018-05-24 20:49:38 +02:00
Oliver Schneider
98e5129375 Better variable naming 2018-05-24 20:49:38 +02:00
Oliver Schneider
97da01f8ad Remove the last mention of Undef 2018-05-24 20:49:38 +02:00
Oliver Schneider
c420531304 Replace ScalarKind with Primitive 2018-05-24 20:49:37 +02:00
Oliver Schneider
cc60a22b10 Get rid of scalar_size 2018-05-24 20:49:37 +02:00
Oliver Schneider
0da702a6d4 Remove an instance of scalar_size in a Debug impl 2018-05-24 20:49:37 +02:00