Commit Graph

50554 Commits

Author SHA1 Message Date
Alex Crichton 595d5b2faf test: Fix a spuriously failing test on valgrind
It's unclear to me whether this test failing under valgrind is actually legit.
The test only fails in valgrind when everything is dynamically linked, and it
appears to work when statically linked.

For now just add the `// no-prefer-dynamic` directive and let's just chalk it up
to a weird valgrind issue.

Closes #31328
2016-02-19 16:53:06 -08: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
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
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
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
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
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
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
Tomasz Miąsko 77922b817e Remove alternate stack with sigaltstack before unmapping it.
Also reuse existing signal stack if already set, this is especially
useful when working with sanitizers that configure alternate stack
themselves.
2016-02-18 08:22:53 +01:00
bors a9430a359f Auto merge of #31641 - petrochenkov:reach, r=alexcrichton
Fixes https://github.com/rust-lang/rust/issues/16734 and probably some other issues

This is a continuation of https://github.com/rust-lang/rust/pull/29822, but the algorithm is mostly a copy of https://github.com/rust-lang/rust/pull/29973, so
r? @alexcrichton or @nikomatsakis
2016-02-18 03:35:21 +00:00
bors e18f7a1c5a Auto merge of #31739 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #31565, #31679, #31694, #31695, #31703, #31720, #31733
- Failed merges:
2016-02-18 00:33:58 +00:00
Sean McArthur 34dfc3991d std: restructure rand os code into sys modules 2016-02-17 16:21:32 -08:00
Steve Klabnik 27ede43c89 Rollup merge of #31733 - gkoz:strip_prefix_docs, r=alexcrichton
It wasn't fixed after copy-pasting. This probably needs to be backported to beta.
2016-02-17 18:14:36 -05:00
Steve Klabnik b85033a7eb Rollup merge of #31720 - frewsxcv:std-mem-transmute-copy-example, r=steveklabnik
Prior to this commit, it was a trivial example that did not demonstrate
the effects of using the function.

Fixes https://github.com/rust-lang/rust/issues/31094
2016-02-17 18:14:36 -05:00
Steve Klabnik 216081d048 Rollup merge of #31703 - WiSaGaN:bugfix/fix-link-in-release-notes, r=alexcrichton 2016-02-17 18:14:36 -05:00
Steve Klabnik 96c8a67a17 Rollup merge of #31695 - oconnor663:chardocs, r=alexcrichton
Previously the docs suggested that '❤️' doesn't fit in a char because
it's 6 bytes. But that's misleading. 'a̚' also doesn't fit in a char,
even though it's only 3 bytes. The important thing is the number of code
points, not the number of bytes. Clarify the primitive char docs around
this.
2016-02-17 18:14:36 -05:00
Steve Klabnik 27ef9df824 Rollup merge of #31694 - oconnor663:insertdocs, r=steveklabnik
The first time I read the docs for `insert()`, I thought it was saying it didn't update existing *values*, and I was confused. Reword the docs to make it clear that `insert()` does update values.
2016-02-17 18:14:36 -05:00
Steve Klabnik 0a88c8fb19 Rollup merge of #31679 - GuillaumeGomez:long_error_explanation, r=Manishearth
r? @Manishearth
2016-02-17 18:14:36 -05:00
Steve Klabnik 9f0e39ba16 Rollup merge of #31565 - SDX2000:docfixes4, r=steveklabnik
See title and diff for more information.
2016-02-17 18:14:35 -05:00
Vadim Petrochenkov fadc95e60a Check reachability insead of publicity for fields and inherent impl items
Purely for consistency with other items, it doesn't make any semantic difference
2016-02-18 01:10:21 +03:00
Vadim Petrochenkov 34737e3536 Add more tests for unnameable reachable items 2016-02-18 01:04:28 +03:00
Vadim Petrochenkov 767a447470 privacy: Mark reachable but unnameable items as reachable 2016-02-18 01:04:28 +03:00
Ulrik Sverdrup 403fc4186e 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-17 22:26:44 +01:00
Simonas Kazlauskas 1752615591 MSVC SEH in MIR is implemented here 2016-02-17 21:46:05 +02:00
bors 4d3eebff9d Auto merge of #31707 - GuillaumeGomez:macro_name, r=sfackler
I'm wondering if instead of a second help message, a note would be better. I let it up to reviewers.
2016-02-17 19:15:53 +00:00
Ali Clark 6115f2effe bring freebsd linker config up-to-date (same as dragonfly) 2016-02-17 18:46:16 +00:00
Gleb Kozyrev f82c984764 Update `Path::strip_prefix` doc 2016-02-17 20:16:12 +02:00
Ali Clark 90afb85a0c re-add freebsd padding
reproduces the padding found here:
https://svnweb.freebsd.org/base/release/10.1.0/sys/sys/stat.h?view=markup#l139
2016-02-17 16:59:03 +00:00
Ali Clark 3c534188f0 time_t is long on freebsd and dragonfly (and nsec should be long)
This becomes less relevant for dragonfly a i686 support is dropped since
release 40, but using long allows some compatibility for older versions.
2016-02-17 16:55:43 +00:00
bors 2051a92134 Auto merge of #31718 - apasel422:issue-31711, r=bluss
This changes the performance of `drop` from linear to constant time for such `HashMap`s.

Closes #31711.

r? @bluss
2016-02-17 16:18:54 +00:00
Sandeep Datta 1536195ce6 Made v2 mutable so that we can actually truncate it. 2016-02-17 20:47:24 +05:30
Ali Clark c99409f793 unfork freebsd stat definitions, fixes x86 2016-02-17 14:10:02 +00:00
Ali Clark cf144d16e9 remove unused import from dragonfly os raw 2016-02-17 14:09:22 +00:00
bors b54770c245 Auto merge of #31696 - apasel422:placement, r=pnkfelix
CC #30172.

r? @pnkfelix
CC @nagisa
2016-02-17 13:25:15 +00:00
Amanieu d'Antras b6a65df6d5 Add into_inner to AssertRecoverSafe 2016-02-17 11:29:18 +00:00
Sébastien Marie 6cb41e2e82 specify the cpu type for LLVM for OpenBSD target
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
2016-02-17 11:30:42 +01:00
bors f4046deb20 Auto merge of #31666 - dirk:dirk/clarify-memory-arrangement-in-vec-docs, r=steveklabnik
Tweak documentation to clarify the structure of `Vec`s as contiguous arrays of items in memory.

Closes #31554; contributes to #29380.

r? @steveklabnik
2016-02-17 09:20:11 +00:00
bors 0d1cd9bd6a Auto merge of #31685 - petrochenkov:patrefact2, r=eddyb
And split `PatKind::Enum` into `PatKind::TupleStruct` and `PatKind::Path`.
This is the HIR part of https://github.com/rust-lang/rust/pull/31581.
This is also kind of a preparation for https://github.com/rust-lang/rfcs/pull/1492.

r? @eddyb
2016-02-17 06:01:49 +00:00
bors 82f30d2a36 Auto merge of #31717 - alexcrichton:llvmup2, r=brson
This commit rebases our LLVM submodule on the most recent tip of the
`release_38` branch of LLVM. There's been a few fixes and this notably fixes the
assertion error in #31702.

Closes #31702
2016-02-17 03:25:45 +00:00
Corey Farwell 8f13f8752f Improve 'std::mem::transmute_copy' doc example.
Prior to this commit, it was a trivial example that did not demonstrate
the effects of using the function.

Fixes https://github.com/rust-lang/rust/issues/31094
2016-02-16 21:48:50 -05:00
Andrew Paseltiner 895ab4f317 Implement placement-in protocol for `LinkedList`
CC #30172.
2016-02-16 20:36:11 -05:00