Commit Graph

53572 Commits

Author SHA1 Message Date
Alex Burka
b9d1e76252 update tracking issue for once_poison
The tracking issue for once_poison was noted as #31688 which was closed, so it now points to the new #33577.
2016-05-20 20:30:08 -04:00
bors
500e5c15cb Auto merge of #33758 - GuillaumeGomez:rollup, r=Manishearth
Rollup of 6 pull requests

- Successful merges: #33668, #33676, #33683, #33734, #33739, #33745
- Failed merges: #33578
2016-05-20 16:37:01 -07:00
Alex Crichton
5f295f22a7 rustc: Fix again order-dependence in extern crate
Originally fixed in #29961 the bug was unfortunately still present in the face
of crates using `#[macro_use]`. This commit refactors for the two code paths to
share common logic to ensure that they both pick up the same bug fix.

Closes #33762
2016-05-20 14:03:47 -07:00
bors
179539f6eb Auto merge of #33318 - alexcrichton:hashmap-seed, r=aturon
std: Cache HashMap keys in TLS

This is a rebase and extension of #31356 where we not only cache the keys in
thread local storage but we also bump each key every time a new `HashMap` is
created. This should give us a nice speed bost in creating hash maps along with
retaining the property that all maps have a nondeterministic iteration order.

Closes #27243
2016-05-20 12:39:00 -07:00
bors
0352866da7 Auto merge of #33378 - oli-obk:fix/registry_args, r=Manishearth
fix Registry::args for plugins loaded with --extra-plugins

r? @Manishearth
2016-05-20 08:44:01 -07:00
Stefan Schindler
bf8c070bd5 Clarify docs for sort(&mut self) 2016-05-20 17:43:06 +02:00
Felix S. Klock II
f18bafdbe1 Refactor bitslice: distinguish usize for indexing vs word type being indexed. 2016-05-20 17:40:22 +02:00
Aaklo Xu
01da14b149 Fix references links
There are Duplicate link references in the article and the format is incorrect.
2016-05-20 21:55:19 +08:00
Guillaume Gomez
4a3ba87d82 Rollup merge of #33745 - postmodern:patch-1, r=steveklabnik
Clarify wording in `transmute` example

* Change "four eights" to "four u8s"
* Change "a 32" to "a u32"
2016-05-20 15:49:53 +02:00
Guillaume Gomez
c67dae8f6d Rollup merge of #33739 - GuillaumeGomez:error-code-tests, r=Manishearth
Add new error code tests

r? @steveklabnik
2016-05-20 15:49:53 +02:00
Guillaume Gomez
4913e88c00 Rollup merge of #33734 - luqmana:33387-mir_fat_ptr_coerce, r=arielb1
[MIR] Add PointerCast for Unsize casts of fat pointers.

Fixes #33387.

r? @eddyb
2016-05-20 15:49:53 +02:00
Guillaume Gomez
5dc8dfa86f Rollup merge of #33683 - sanxiyn:paren-span, r=nikomatsakis
Preserve span when lowering ExprKind::Paren

Fix #33681.
2016-05-20 15:49:52 +02:00
Guillaume Gomez
f22c5aab1e Rollup merge of #33676 - rkruppe:e0509-exact-words, r=sanxiyn
Reword the short diagnostic for E0509

Saying that a type *implements* a trait is much more idiomatic than saying it *defines* the trait.
2016-05-20 15:49:52 +02:00
Guillaume Gomez
fda31345c1 Rollup merge of #33668 - dns2utf8:catch_thread, r=steveklabnik
Catch thread in example

Since this is an example, the code will be copied by many people and should be over correct.

?r @steveklabnik
2016-05-20 15:49:52 +02:00
Felix S. Klock II
59008cbd71 review feedback: fix some index-mismatch bugs pointed out by arielb1. 2016-05-20 15:44:30 +02:00
ggomez
bbed89b4e5 Update simd syntax 2016-05-20 15:19:34 +02:00
Manish Goregaokar
9ce018bafb
Update tests 2016-05-20 17:44:31 +05:30
Felix S. Klock II
581195090a Review feedback.
Removed `BitDenotation: DataflowOperator` relationship.

Alpha-renamed `fn initial_value` to `fn bottom_value`.
2016-05-20 14:14:18 +02:00
Felix S. Klock II
a7e3204ac8 mir::dataflow arielb1 review feedback
* removed `on_all_children_bits`, rewriting calls to use `super::on_all_children_bits`

 * moved `fn path` helper routine out of `impl MirBorrowckCtxtPreDataflow`
2016-05-20 13:40:52 +02:00
bors
55cabda8d5 Auto merge of #33729 - alexcrichton:patch-libbacktrace, r=sfackler
std: Backport a libbacktrace soundness fix

This is a backport of gcc-mirror/gcc@047a1c2f which is a soundness fix for when
a backtrace is generated on executables that do not have debug information.
2016-05-20 04:34:34 -07:00
Felix S. Klock II
9c468f4b65 Added comment pointing out somewhat subtle initialization in fn start_block_effect. 2016-05-20 13:20:33 +02:00
Felix S. Klock II
011c37d59e borrowck::mir: alpha-renamed DropFlagState variant names. 2016-05-20 13:20:00 +02:00
Felix S. Klock II
9fcbe2a2f9 fix comment in impl DataflowOperator for MaybeUninitializedLvals. 2016-05-20 13:18:27 +02:00
Felix S. Klock II
aaad8a209a mir::dataflow::sanity_check: Factor out fn is_rustc_peek helper routine. 2016-05-20 13:18:03 +02:00
Felix S. Klock II
582f060a17 markdown fix suggested during review. 2016-05-20 13:12:02 +02:00
bors
d27bdafc3e Auto merge of #33553 - alexcrichton:cdylibs, r=brson
rustc: Add a new crate type, cdylib

This commit is an implementation of [RFC 1510] which adds a new crate type,
`cdylib`, to the compiler. This new crate type differs from the existing `dylib`
crate type in a few key ways:

* No metadata is present in the final artifact
* Symbol visibility rules are the same as executables, that is only reachable
  `extern` functions are visible symbols
* LTO is allowed
* All libraries are always linked statically

This commit is relatively simple by just plubming the compiler with another
crate type which takes different branches here and there. The only major change
is an implementation of the `Linker::export_symbols` function on Unix which now
actually does something. This helps restrict the public symbols from a cdylib on
Unix.

With this PR a "hello world" `cdylib` is 7.2K while the same `dylib` is 2.4MB,
which is some nice size savings!

[RFC 1510]: https://github.com/rust-lang/rfcs/pull/1510

Closes #33132
2016-05-20 00:34:50 -07:00
Steven Fackler
78e06adca7 Mention that the panic hook will always run 2016-05-19 22:35:09 -07:00
bors
cde0fa5f67 Auto merge of #33358 - michaelwoerister:debuginfo-methods, r=eddyb
debuginfo: Make DW_TAG_subroutine DIEs for inherent methods children of their self-type DIEs.

Fixes https://github.com/rust-lang/rust/issues/33192
2016-05-19 20:40:44 -07:00
Daniel Campoverde [alx741]
e614bb70c2 book: ownership: fix typo 2016-05-19 20:14:29 -05:00
Postmodern
d8c086b085 Grammar change 2016-05-19 17:27:04 -07:00
Postmodern
d021d7d7cf Keep line-width within 80 columns 2016-05-19 17:17:17 -07:00
Postmodern
2fd4e604a4 Clarify the English translation of ?Sized
* It wasn't clear whether `?Sized` meant "not `Sized`" or "`Sized` or not `Sized`". According to #rust IRC, it does indeed mean "`Sized` or not `Sized`".
* Use the same language as [Trait std::marker::Sized](https://doc.rust-lang.org/std/marker/trait.Sized.html) about how `Sized` is implicitly bound.
2016-05-19 17:07:29 -07:00
Alex Crichton
eaeef3db0e std: Cache HashMap keys in TLS
This is a rebase and extension of #31356 where we cache the keys in thread local
storage. This should give us a nice speed bost in creating hash maps along with
mostly retaining the property that all maps have a nondeterministic iteration
order.

Closes #27243
2016-05-19 16:58:15 -07:00
bors
1ec80f65fb Auto merge of #33103 - ranma42:escape-unicode-last, r=alexcrichton
Implement `last` for `EscapeUnicode`

The implementation is quite trivial as the last character is always `'{'`.
As a side-effect it also improves the implementation of `last` for `EscapeUnicode`.

Part of #24214, split from #31049.

Maybe this (and the other changes that I will split from #31049) should wait for a test like `ed_iterator_specializations` to be added. Would it be sufficient to do the same for each possible escape length?
2016-05-19 16:22:50 -07:00
Michael Woerister
499605c651 debuginfo: Make DW_TAG_subroutine DIEs for inherent methods children of their self-type DIEs. 2016-05-19 19:09:49 -04:00
Eduard Burtescu
0d2c26c261 Mark the metadata symbol as reachable to fix OSX not finding dylibs. 2016-05-19 15:32:03 -07:00
Alex Crichton
07d373f3d6 rustc: Add a new crate type, cdylib
This commit is an implementation of [RFC 1510] which adds a new crate type,
`cdylib`, to the compiler. This new crate type differs from the existing `dylib`
crate type in a few key ways:

* No metadata is present in the final artifact
* Symbol visibility rules are the same as executables, that is only reachable
  `extern` functions are visible symbols
* LTO is allowed
* All libraries are always linked statically

This commit is relatively simple by just plubming the compiler with another
crate type which takes different branches here and there. The only major change
is an implementation of the `Linker::export_symbols` function on Unix which now
actually does something. This helps restrict the public symbols from a cdylib on
Unix.

With this PR a "hello world" `cdylib` is 7.2K while the same `dylib` is 2.4MB,
which is some nice size savings!

[RFC 1510]: https://github.com/rust-lang/rfcs/pull/1510

Closes #33132
2016-05-19 15:32:03 -07:00
Stefan Schindler
22615adf02 Catch thread in example
- Consume result of thread join()
 - Add link to threading model
2016-05-19 23:05:08 +02:00
Postmodern
345626f088 Clarify wording in transmute example
* Change "four eights" to "four u8s"
* Change "a 32" to "a u32"
2016-05-19 13:12:11 -07:00
Alex Crichton
a42115375b std: Update libbacktrace for a soundness fix
This updates the vendor'd libbacktrace source to tpick up
gcc-mirror/gcc@047a1c2f which is a soundness fix for when a backtrace is
generated on executables that do not have debug information.
2016-05-19 11:56:43 -07:00
Steven Burns
519cc8280c Book: small improvement to a table to make it clearer 2016-05-19 11:05:13 -06:00
bors
764ef92ae7 Auto merge of #33742 - Manishearth:rollup, r=Manishearth
Rollup of 10 pull requests

- Successful merges: #33353, #33611, #33696, #33698, #33705, #33708, #33712, #33720, #33721, #33730
- Failed merges:
2016-05-19 09:45:53 -07:00
Manish Goregaokar
acd2c11c5e Rollup merge of #33730 - jseyfried:fix_macro_backtrace_diagnostics, r=nikomatsakis
Fix macro expansion backtrace diagnostics

Fixes #33704.
r? @nikomatsakis
2016-05-19 21:21:08 +05:30
Manish Goregaokar
5928d49aa0 Rollup merge of #33721 - royalstream:royalstream-doc-highlights, r=Manishearth
Rust syntax coloring for some ignore, should-panic and no-run snippets.

In the book, some code blocks were missing the `rust` specifier which is needed for them to highlight correctly.
2016-05-19 21:21:07 +05:30
Manish Goregaokar
f6f5cdfcec Rollup merge of #33720 - mark-summerfield:patch-1, r=steveklabnik
Clarified that `let(mut x, y) =` only makes x mutable, not y

Closes #33716
2016-05-19 21:21:07 +05:30
Manish Goregaokar
8b4b3a8b09 Rollup merge of #33712 - jseyfried:fix_expanded_expr_span_bug, r=nrc
Fix bug in macro expression spans

Fix a bug in macro expression spans.
r? @nrc
2016-05-19 21:21:07 +05:30
Manish Goregaokar
14661aeb0a Rollup merge of #33708 - nham:zero-elided-lifetimes, r=sanxiyn
Only print parameters with elided lifetimes in elision error messages.

When displaying the function parameters for a lifetime elision error message,
this changes it to first filter out the parameters that don't have elided
lifetimes.

Fixes #30255.
2016-05-19 21:21:06 +05:30
Manish Goregaokar
355d9f98f5 Rollup merge of #33705 - lqd:rustdoc-version-tooltip, r=GuillaumeGomez
rustdoc: Make the #[stable(since)] version attribute clearer with a tooltip

Rustdoc's new 'since' version placement only shows the version number in which the item was marked stable. This gains space but might make the meaning of this version string less clear in the docs, so I tried to bring some explicitness in a tooltip.
2016-05-19 21:21:06 +05:30
Manish Goregaokar
26f666b7ad Rollup merge of #33698 - alexcrichton:update-libc, r=japaric
std: Update libc submodule

Brings in a fix where `-lutil` is no longer passed for musl targets, lifting the
need for a musl toolchain to be installed again.

Closes #33608
2016-05-19 21:21:06 +05:30
Manish Goregaokar
7acb22ab54 Rollup merge of #33696 - nham:add-test-21225, r=luqmana
Add regression tests for error message when using enum variant as a type

I'm guessing these were actually fixed with PR #27085.

Closes #21225
Closes #19197
2016-05-19 21:21:05 +05:30