Commit Graph

50750 Commits

Author SHA1 Message Date
Ariel Ben-Yehuda
3c6f41026b store the normalized types of field accesses
Fixes #31504
2016-02-20 01:54:58 +02:00
Ariel Ben-Yehuda
350b50df00 deref the argument of overloaded MIR autoderef
Fixes #31466
2016-02-20 01:54:58 +02:00
Ariel Ben-Yehuda
76608c8e0a make *mut T -> *const T a coercion
rather than being implicit quasi-subtyping. Nothing good can come out
of quasi-subtyping.
2016-02-20 01:54:58 +02:00
Ariel Ben-Yehuda
6f633ef128 tuple arguments to overloaded calls
also fix translation of "rust-call" functions, although that could use
more optimizations
2016-02-20 01:54:58 +02:00
Amanieu d'Antras
3b67e467b2 Add tests for read_volatile and write_volatile 2016-02-19 23:45:49 +00:00
Ariel Ben-Yehuda
b7cbbc374c be more type-safe in panic/panic_bounds_check
TODO: find a correct borrow region

Fixes #31482
2016-02-20 01:45:13 +02:00
Ariel Ben-Yehuda
67d1cf1122 introduce an early pass to clear dead blocks
this makes the the MIR assignment pass complete successfully
2016-02-20 01:45:13 +02:00
Ariel Ben-Yehuda
999f1767ca add -Z mir-opt-level to disable MIR optimizations
setting -Z mir-opt-level=0 will disable all MIR optimizations
for easier debugging
2016-02-20 01:38:27 +02:00
Michael Neumann
91648e283e Add license and feature(thread_local) 2016-02-19 22:09:47 +01:00
Steve Klabnik
78f6431002 Rollup merge of #31775 - nxnfufunezn:issue-31769, r=eddyb
Fixes : #31769
r? @eddyb
2016-02-19 14:23:29 -05:00
Steve Klabnik
2fe817df40 Rollup merge of #31765 - tshepang:shorten, r=steveklabnik 2016-02-19 14:23:29 -05:00
Steve Klabnik
1aec0af15f Rollup merge of #31764 - tshepang:overlong-sentence, r=steveklabnik 2016-02-19 14:23:28 -05:00
Steve Klabnik
6233aba372 Rollup merge of #31763 - tshepang:extraneous-word, r=steveklabnik 2016-02-19 14:23:28 -05:00
Steve Klabnik
575c85abfd Rollup merge of #31750 - GuillaumeGomez:mailmap, r=nikomatsakis
It's notably for #31707
2016-02-19 14:23:28 -05:00
Steve Klabnik
0f2675a2e6 Rollup merge of #31741 - alexcrichton:fix-ios, r=nikomatsakis
Similar to OSX, these symbols are prefixed by default.
2016-02-19 14:23:28 -05:00
Steve Klabnik
b81fdd4cd2 Rollup merge of #31737 - dhuseby:netbsd_fixes, r=alexcrichton
this fixes a small compile error when building for netbsd.
2016-02-19 14:23:28 -05:00
Steve Klabnik
206e86b947 Rollup merge of #31721 - rphmeier:err_tuplestruct_count, r=Manishearth
Fixes #31706

Also fixes a phrasing error in the diagnostic.
2016-02-19 14:23:28 -05:00
nxnfufunezn
27f8c53344 Fix error[E0518] not displayed for #[inline] on structs inside fns 2016-02-19 23:49:11 +05:30
Ariel Ben-Yehuda
addc653da5 begin implementing mir-typeck 2016-02-19 19:13:53 +02:00
bors
28a3e8bb51 Auto merge of #31742 - frewsxcv:needless-lifetimes, r=pnkfelix
These explicit lifetimes can be ommitted because of lifetime elision
rules. Instances were found using rust-clippy.
2016-02-19 13:49:46 +00:00
bors
d5e2e5fbbc Auto merge of #31738 - seanmonstar:sys-rand, r=alexcrichton 2016-02-19 10:58:53 +00:00
bors
15611f75ca Auto merge of #31736 - bluss:write-char, r=alexcrichton
fmt: Make sure write_fmt's implementation can use write_char

It looks like the Adapter inside write_fmt was never updated to forward
the write_char method.
2016-02-19 08:04:11 +00:00
Alex Crichton
d835f5bfd8 Ignore the test added in #31717
In #31717 we rebased our LLVM fork over the 3.8 release branch, and it was
thought that this fixed #31702. The testing, however, must have been erroneous,
as it unfortunately didn't fix the issue! Our MUSL nightly builders are failing
from the same assertion reported in the issue, so we at least know the test case
is a reproduction!

I believe the failure is only happening on the MUSL nightly builders because
none of the auto builders have LLVM assertions enabled, and the Linux nightly
builder *does* have assertions enabled for the binaries we generate but the
distcheck run doesn't test a compiler with LLVM assertions enabled.
2016-02-18 22:47:42 -08:00
bors
463e42701a Auto merge of #31735 - aliclark:freebsd-link-defs, r=alexcrichton
The FreeBSD linker config is missing some options present in the other BSD configs.

This seems accidental, with other BSDs having the flags added in platform-specific commits, or with the flags present from day 1.

Some other BSD commits for reference:
fcb30a0b67 (diff-db69d903e469b7769aefaa31786fc2c4R1)
0b7c4f57f6 (diff-1c7b74536ce0291d1f89953035f26a71R1)

cfd2a5cfa1
2016-02-19 05:15:17 +00:00
bors
917db28b55 Auto merge of #31716 - jseyfried:fix_privacy_for_def_err, r=nrc
Fixes #31714
2016-02-19 02:18:25 +00:00
Jeffrey Seyfried
08b9097197 Improve dummy bindings for unresolved imports 2016-02-19 00:43:52 +00:00
Vlad Ureche
88af8fa0b1 Show candidates for names not in scope
This commit adds functionality that allows the name resolution pass
to search for entities (traits/types/enums/structs) by name, in
order to show recommendations along with the errors.

For now, only E0405 and E0412 have suggestions attached, as per the
request in bug #21221, but it's likely other errors can also benefit
from the ability to generate suggestions.
2016-02-19 01:10:36 +01:00
bors
8842e28be8 Auto merge of #31684 - tmiasko:alternate-stack, r=alexcrichton
Remove alternate stack with sigaltstack before unmaping it.

Also reuse existing signal stack if already set, this is especially
useful when working with sanitizers that configure alternate stack
themselves.

This change depends on SS_DISABLE recently introduced in libc crate and updates
this git submodule accordingly.
2016-02-18 23:23:22 +00:00
Amanieu d'Antras
b4b2a259cd Add compare_exchange and compare_exchange_weak to atomic types 2016-02-18 22:38:25 +00:00
Tshepang Lekhonkhobe
31c78cfe91 doc: make the sentence more simple 2016-02-18 23:13:22 +02:00
Tshepang Lekhonkhobe
2cf226bd7e doc: reduce overlong sentence 2016-02-18 22:59:03 +02:00
bors
de366b5218 Auto merge of #31600 - nagisa:mir-msvc-seh-2, r=nikomatsakis
r? @alexcrichton for the translator changes and @nikomatsakis for the no-landing-pads pass.
2016-02-18 20:46:28 +00:00
Tshepang Lekhonkhobe
ba97cd9ad4 doc: remove a word that makes the sentence hard to read 2016-02-18 22:46:03 +02:00
Amanieu d'Antras
7ae4ee80d1 Implement read_volatile and write_volatile 2016-02-18 20:18:36 +00:00
Vadim Petrochenkov
e9506594b4 Make future-compat lint match_of_unit_variant_via_paren_dotdot deny by default 2016-02-18 22:30:57 +03:00
Ivan Kozik
58f0d72d90 reference: vtable entries: copy @nikomatsakis's wording 2016-02-18 19:17:09 +00:00
Amanieu d'Antras
64ddcb33f4 Add intrinsics for compare_exchange and compare_exchange_weak 2016-02-18 19:07:05 +00:00
bors
6b076c2daa Auto merge of #31734 - aliclark:bsd-stat-fixes, r=alexcrichton
In https://github.com/rust-lang/rust/issues/25155 the os::freebsd::raw stat was split for the x86 vs. x86-64 cases, which appears to have been done to implement the padding on the end of struct stat for the x86 case (the struct is otherwise the same notwistanding the size of long).

This PR de-duplicates the struct using #[cfg(target_arch = "x86")] for the __unused field, which also fixes the definitions which had sinced changed with the LFS work d088b67187.

Also changed definitions to c_long for dragonfly and freebsd where appropriate.

Also removes some unused imports that the compiler was complaining about.

dragonfly's long time_t:
https://gitweb.dragonflybsd.org/dragonfly.git/blob/a2a57c243ff8016578bc559f8603fb25bbcf1768:/lib/libstand/machine/stdint.h

freebsd's long time_t:
https://svnweb.freebsd.org/base/release/10.1.0/sys/x86/include/_types.h?view=markup
d088b67187/src/liblibc/lib.rs (L980)

freebsd's padding for i686 stat:
https://svnweb.freebsd.org/base/release/10.1.0/sys/sys/stat.h?view=markup#l139
d088b67187/src/liblibc/lib.rs (L1038)
2016-02-18 16:29:55 +00:00
Gleb Kozyrev
409bffa654 Add mutual PartialEq and PartialOrd impls for Path[Buf] and OsStr[ing] 2016-02-18 16:08:30 +02:00
Gleb Kozyrev
ccad5449ff Add mutual PartialOrd impls for Path and PathBuf 2016-02-18 16:08:11 +02:00
Gleb Kozyrev
27be4336d9 Impl AsRef<Path> for Cow<OsStr> 2016-02-18 16:04:28 +02:00
Gleb Kozyrev
9fb4fcac82 Add mutual PartialEq and PartialCmp impls for OsStr, OsString 2016-02-18 16:03:42 +02:00
Corey Farwell
5850d16d52 Remove unnecessary explicit lifetime bounds.
These explicit lifetimes can be ommitted because of lifetime elision
rules. Instances were found using rust-clippy.
2016-02-18 08:37:10 -05:00
bors
8e2a577804 Auto merge of #31394 - nikomatsakis:incr-comp-variance, r=pnkfelix
Make the dep. graph edges created by variance just mirror the constraint graph.

Note that this extends <https://github.com/rust-lang/rust/pull/31304>, so the first few commits are on a different topic.

r? @pnkfelix
2016-02-18 13:28:27 +00:00
ggomez
761e26be68 Add another email address corresponding to Guillaume Gomez account 2016-02-18 11:38:59 +01:00
bors
f075698ea5 Auto merge of #31728 - Amanieu:recoversafe_into_inner, r=alexcrichton
This allows a `FnOnce` to be wrapped in an `AssertRecoverSafe`.
2016-02-18 10:35:25 +00:00
Niko Matsakis
01ebc37fa1 Change how dep-graph edges are handled in variance to
be more fine-grained, fixing the `dep-graph-struct-signature`
test.
2016-02-18 05:27:27 -05:00
Niko Matsakis
daa7408267 Fix a weird case in the HIR map, where fields are not present in the
map. Perhaps I ought to just add them instead, but this seems harmless
enough.
2016-02-18 05:26:30 -05:00
Niko Matsakis
a80d449026 Break the variance module into submodules for ease of comprehension. 2016-02-18 05:26:30 -05:00
bors
7dd3b20119 Auto merge of #31727 - semarie:openbsd-llvm-cpu, r=alexcrichton
The initial purpose is to workaround the LLVM bug
https://llvm.org/bugs/show_bug.cgi?id=26554 for OpenBSD.

By default, the `cpu` is defined to `generic`. But with a 64bit
processor, the optimization for `generic` will use invalid asm code as
NOP (the generated code for NOP isn't a NOP).

According to #20777, "x86-64" is the right thing to do for x86_64
builds.

Closes: #31363

r? @alexcrichton
2016-02-18 07:35:49 +00:00