Commit Graph

62441 Commits

Author SHA1 Message Date
Ariel Ben-Yehuda
f2c7917402 translate drop glue using MIR
Drop of arrays is now translated in trans::block in an ugly way that I
should clean up in a later PR, and does not handle panics in the middle
of an array drop, but this commit & PR are growing too big.
2017-03-18 02:53:08 +02:00
Ariel Ben-Yehuda
26df816f52 apply pre-trans passes to Shim MIR 2017-03-18 02:53:08 +02:00
Ariel Ben-Yehuda
2b9fea1300 move the drop expansion code to rustc_mir 2017-03-18 02:53:07 +02:00
Ariel Ben-Yehuda
e1f3c67cb4 translate closure shims using MIR 2017-03-18 02:53:07 +02:00
Ariel Ben-Yehuda
a5e3c3d5b8 collector: collect functions when they are called/reified
This avoids the creation of unneeded vtable shims.
2017-03-18 02:53:07 +02:00
Ariel Ben-Yehuda
65a4266f1f refactor away callee::Callee and translate virtual calls through a MIR shim
These changes are in the same commit to avoid needing to adapt
meth::trans_object_shim to the new scheme.

One codegen-units test is broken because we instantiate the shims even
when they are not needed. This will be fixed in the next PR.
2017-03-18 02:53:07 +02:00
Ariel Ben-Yehuda
aac5ba5dab resolve instances to ty::Instance directly
This removes the duplication between collector, callee, and (eventually)
MIRI.
2017-03-18 02:53:07 +02:00
Ariel Ben-Yehuda
bf80fec326 translate function shims using MIR 2017-03-18 02:53:06 +02:00
Ariel Ben-Yehuda
ffee9566bb move Instance to rustc and use it in the collector 2017-03-18 02:53:04 +02:00
Ariel Ben-Yehuda
0af3775dd2 translate tuple-variant constructors using MIR 2017-03-18 02:52:07 +02:00
bors
703b246287 Auto merge of #40482 - wagenet:fix-old-macos, r=alexcrichton
Target builds for older macOS

Fix #40481
2017-03-18 00:40:10 +00:00
Jeff Walden
2976ddbb15 Fix a spelling error in HashMap documentation, and slightly reword it to be more precise. 2017-03-17 17:15:01 -07:00
Jeffrey Seyfried
cb96adea15 Fix regression when include!()ing a macro_rules! containing a $crate:: path. 2017-03-17 22:20:41 +00:00
Alex Crichton
1241a88fa9 Minor fixups to fix tidy errors 2017-03-17 13:28:53 -07:00
Aaron Turon
a8f4a1bd98 Stabilize rc_raw feature, closes #37197 2017-03-17 13:28:53 -07:00
Aaron Turon
48890d4971 Stabilize ordering_chaining, closes #37053 2017-03-17 13:28:53 -07:00
Aaron Turon
37b38a2f75 Stabilize btree_range, closes #27787 2017-03-17 13:28:37 -07:00
Aaron Turon
10510aefb1 Stabilize ptr_eq feature, closes #36497 2017-03-17 13:28:37 -07:00
Aaron Turon
9511fe60ce Stabilize process_abort feature, closes #37838 2017-03-17 13:28:37 -07:00
Aaron Turon
d38ea8b371 Stabilize ptr_unaligned feature, closes #37955 2017-03-17 13:28:37 -07:00
Aaron Turon
65b7c4ed31 Stabilize expect_err feature, closes #39041 2017-03-17 13:28:37 -07:00
Aaron Turon
33a5665988 Stabilize move_cell feature, closes #39264 2017-03-17 13:28:37 -07:00
ScottAbbey
ec8ecf4f9d Fix typo in mutex.rs docs
This seems to match other uses of "be accessed" in the document.
2017-03-17 13:27:13 -05:00
bors
a559452b05 Auto merge of #40598 - frewsxcv:rollup, r=frewsxcv
Rollup of 23 pull requests

- Successful merges: #40387, #40433, #40452, #40456, #40457, #40458, #40463, #40466, #40467, #40495, #40496, #40497, #40499, #40500, #40503, #40505, #40512, #40514, #40517, #40520, #40536, #40545, #40586
- Failed merges:
2017-03-17 17:26:52 +00:00
QuietMisdreavus
963d4dfdde minor wording tweak to slice::{as_ptr, as_mut_ptr} 2017-03-17 12:24:44 -05:00
bors
9fae0405e9 Auto merge of #40575 - alexcrichton:update-sccache, r=alexcrichton
travis: Update sccache binary

I've built a local copy with mozilla/sccache#79 and mozilla/sccache#78. Let's
see if that helps #40240!
2017-03-17 14:32:28 +00:00
Alex Crichton
bbfdb56910 travis: Use hide_output in dist-powerpc64-linux
Looks like we blew the 4MB cap, so let's hide some more output.
2017-03-17 07:12:56 -07:00
Corey Farwell
3bec563958 Rollup merge of #40586 - steveklabnik:add-unstable-sort-to-unstable-book, r=frewsxcv
add sort_unstable to unstable book

cc #40585
2017-03-17 08:49:10 -04:00
Corey Farwell
b71e5f7b1f Rollup merge of #40545 - alexcrichton:retry-download-openssl, r=nikomatsakis
rustbuild: Retry downloads of OpenSSL source

We need this to compile Cargo and we download it at build time, but as like all
other network requests it has a chance of failing. This commit moves the source
of the tarball to a mirror (S3 seems semi-more-reliable most of the time) and
also wraps the download in a retry loop.

cc #40474
2017-03-17 08:49:09 -04:00
Corey Farwell
dc1deeb9b4 Rollup merge of #40536 - kevinmehall:dedup_docs_for_dedup_by, r=steveklabnik
Fix documentation for Vec::dedup_by.

The previous docstring was copied from dedup_by_key.
2017-03-17 08:49:08 -04:00
Corey Farwell
2ba4a63696 Rollup merge of #40520 - steveklabnik:link-core-slice, r=alexcrichton
Link core::slice to std::slice
2017-03-17 08:49:07 -04:00
Corey Farwell
6831180ca2 Rollup merge of #40517 - rust-lang:release-notes-tweak, r=alexcrichton
Remove incorrect feature from the 1.16 relnotes

According to @golddranks https://internals.rust-lang.org/t/rust-1-16-0-prerelease-testing/4953/3

r? @brson
2017-03-17 08:49:06 -04:00
Corey Farwell
f90fab5b26 Rollup merge of #40514 - stjepang:inline-then-ordering, r=alexcrichton
Inline functions Ordering::{then, then_with}

@jongiddy noticed bad performance due to the lack of inlining on `then`
and `then_with`. I confirmed that inlining really is the culprit by
creating a custom `then` function and repeating his benchmark on my
machine with and without the `#[inline]` attribute.

The numbers were exactly the same on my machine without the attribute.
With `#[inline]` I got the same performance as I did with manually
inlined implementation.

The problem was reported in #37053.
2017-03-17 08:49:05 -04:00
Corey Farwell
1909b62e79 Rollup merge of #40512 - nodakai:patch-1, r=alexcrichton
.gitmodules: use official URLs w/o redirect
2017-03-17 08:49:04 -04:00
Corey Farwell
f47a377c6e Rollup merge of #40505 - frewsxcv:hash-docs, r=alexcrichton
A few improvements to the `core::hash` top-level docs.

Primarily opened to address the concerns brought up in
https://github.com/rust-lang/rust/issues/40498.

* run rustfmt on code blocks
* use `DefaultHasher` instead of deprecated `SipHasher`
* rename `hash` to `calculate_hash` to prevent confusion with the `hash`
  method
2017-03-17 08:49:03 -04:00
Corey Farwell
d7a09d4e65 Rollup merge of #40503 - swgillespie:thread-hack-removal, r=sfackler
std: remove a workaround for privacy limitations

`std:🧵:Thread` implements a non-exported `NewThread` trait to allow for internal-only use of `Thread::new`. Nowadays we have `pub(crate)`, which accomplishes the same thing but much more idiomatically.

Rustdoc handles this correctly (I checked and I didn't see `Thread::new` on the rustdoc entry for `Thread` with this change), and the stage1 `rustc` emits the correct error still (I'm assuming that the stage1 compiler uses my `libstd`?):

```
$ ./build/x86_64-apple-darwin/stage1/bin/rustc test.rs
error: method `new` is private
 --> test.rs:4:18
  |
4 |     let thread = thread::Thread::new(None);
  |                  ^^^^^^^^^^^^^^^^^^^

error: aborting due to previous error
```
2017-03-17 08:49:02 -04:00
Corey Farwell
5aab3b97af Rollup merge of #40500 - estebank:turbofish-help, r=pnkfelix
Point out correct turbofish usage on `Foo<Bar<Baz>>`

Whenever we parse a chain of binary operations, as long as the first
operation is `<` and the subsequent operations are either `>` or `<`,
present the following diagnostic help:

    use `::<...>` instead of `<...>` if you meant to specify type arguments

This will lead to spurious recommendations on situations like
`2 < 3 < 4` but should be clear from context that the help doesn't apply
in that case.

Fixes #40396.
2017-03-17 08:49:01 -04:00
Corey Farwell
e389f6a67e Rollup merge of #40499 - ericfindlay:master, r=steveklabnik
Corrected very minor documentation detail about Unicode and Japanese

Japanese half-width and full-width romaji characters do have upper and lowercase according Unicode (but other Japanese characters do not). For example,
` assert_eq!('\u{FF21}'.to_lowercase().collect::<String>(),"\u{FF41}");`

r? @steveklabnik
2017-03-17 08:49:00 -04:00
Corey Farwell
3ebce67ca3 Rollup merge of #40497 - wesleywiser:fix_sidebar, r=GuillaumeGomez
Fix sidebar not extending to the bottom of the page

Fixes #40459
2017-03-17 08:48:59 -04:00
Corey Farwell
f9236bdfcc Rollup merge of #40496 - projektir:docs_number_headings, r=frewsxcv
Using X headings #39850

Fix for issue #39850, the headings should now be 1, 2, and 3.
2017-03-17 08:48:58 -04:00
Corey Farwell
4fbd8849d9 Rollup merge of #40495 - llogiq:format-docs, r=steveklabnik
fix format grammar

This is just a trivial change to get the escaped squigglies into the grammar.

r? @steveklabnik
2017-03-17 08:48:57 -04:00
Corey Farwell
dcf5f071a3 Rollup merge of #40467 - projektir:readme_docs, r=steveklabnik
Updating README.md to point to the correct doc location
2017-03-17 08:48:56 -04:00
Corey Farwell
127c3ad362 Rollup merge of #40466 - projektir:outdated_docs_highlighting, r=steveklabnik
Remove doc about highlighting code in other languages #40301

This doesn't appear to be true any longer, so removing it to avoid confusion. See #40301

Thoughts:
- may be a good idea to remove "Let's discuss the details of these code blocks.", as there's not much being discussed at this point;
- does `text` still work?

r? @steveklabnik
2017-03-17 08:48:55 -04:00
Corey Farwell
cfca6fccb9 Rollup merge of #40463 - tshepang:nit, r=nikomatsakis
some style fixes
2017-03-17 08:48:54 -04:00
Corey Farwell
695d7ecd05 Rollup merge of #40458 - frewsxcv:frewsxcv-osstr, r=GuillaumeGomez
Add doc examples for `OsStr`, `OsString`.

None
2017-03-17 08:48:53 -04:00
Corey Farwell
dee6989b43 Rollup merge of #40457 - frewsxcv:frewsxcv-macos, r=steveklabnik
Update usages of 'OSX' (and other old names) to 'macOS'.

As of last year with version 'Sierra', the Mac operating system is now
called 'macOS'.
2017-03-17 08:48:52 -04:00
Corey Farwell
69717170a4 Rollup merge of #40456 - frewsxcv:frewsxcv-docs-function-parens, r=GuillaumeGomez
Remove function invokation parens from documentation links.

This was never established as a convention we should follow in the 'More
API Documentation Conventions' RFC:

https://github.com/rust-lang/rfcs/blob/master/text/1574-more-api-documentation-conventions.md
2017-03-17 08:48:51 -04:00
Corey Farwell
739d89aef5 Rollup merge of #40452 - frewsxcv:frewsxcv-unstable-docs, r=GuillaumeGomez
Add basic documentation/examples for six unstable features.
2017-03-17 08:48:50 -04:00
Corey Farwell
01ad185071 Rollup merge of #40433 - mattico:test-issue-29595, r=estebank
Add test for issue #29595

Closes #29595

Couldn't get this to run locally, all the compile-fail tests are ignored... let's see what Travis says.
2017-03-17 08:48:49 -04:00
Corey Farwell
70e7327b4e Rollup merge of #40387 - tbu-:pr_doc_ptr_write2, r=steveklabnik
Reword the non-dropping of `src` for `ptr::write{,_unaligned}`

@niconii Is it OK if I put your wording into the documentation?
CC @nagisa
2017-03-17 08:48:48 -04:00