Commit graph

78562 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
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
Oliver Schneider 5f599bb490 Adjust test for 32 bit targets 2018-05-25 15:13:54 +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
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
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
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
Oliver Schneider ff652b8a01 Update outdated comment 2018-05-24 20:49:37 +02:00
Oliver Schneider f82256e473 primval -> scalar rename 2018-05-24 20:49:37 +02:00
Oliver Schneider 1550fd212b Use the destination type size instead of the source type size 2018-05-24 20:49:37 +02:00
Oliver Schneider edbdf3d263 Formatting nit 2018-05-24 20:49:37 +02:00
Oliver Schneider ea8f544964 Rebase fallout 2018-05-24 20:49:37 +02:00
Oliver Schneider 9456ba66bf Accidentally used byte-size instead of bit-size 2018-05-24 20:49:37 +02:00
Oliver Schneider 4ca169ce84 Use the target types bitsize instead of the source type's 2018-05-24 20:49:37 +02:00
Oliver Schneider bf39c7f87c Floats are scalars! 2018-05-24 20:49:37 +02:00
Oliver Schneider 64a75ecc80 change Value::Bytes to Value::Bits 2018-05-24 20:49:37 +02:00
Oliver Schneider 3bbf2fd715 Remove Pointer::zero in favor of Pointer::from 2018-05-24 20:48:54 +02:00
Oliver Schneider d7324631ae Rename MemoryPointer to Pointer 2018-05-24 20:48:54 +02:00
Oliver Schneider 03a92b61ec Eliminate the Pointer wrapper type 2018-05-24 20:48:13 +02:00
Oliver Schneider 6436de89fe Differentiate between interpret::Scalar and layout::Scalar 2018-05-24 20:47:35 +02:00
Oliver Schneider ef2177cffc Rename ByVal(Pair) to Scalar(Pair) 2018-05-24 20:47:35 +02:00