Commit Graph

41270 Commits

Author SHA1 Message Date
bors b7fb57529a Auto merge of #24512 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #23782, #24455, #24490, #24493, #24494, #24496, #24498, #24499, #24501, #24502, #24506, #24507, #24508, #24509, #24510
- Failed merges: #24488
2015-04-17 05:52:35 +00:00
bors 7fbedc58e3 Auto merge of #24422 - pnkfelix:typeck-highlevel-before-bodies, r=nikomatsakis
typeck: Do high-level structural/signature checks before function body checks.

This avoids various ICEs, e.g. premature calls to cat_expr that yield the dreaded "cat_expr Errd" ICE.

However, it also means that some early error feedback is now not provided.  This may be for the best, because the error feedback were were providing in some of those cases were false positives -- it was spurious feedback and a distraction from the real problem.

So it is not 100% clear whether we actually want to put this change in or not.  I think its a net win, but others might disagree.

(Kudos to @arielb1 for suggesting this modification.)
2015-04-17 03:50:30 +00:00
Florian Hartwig a4be1ec140 Fix broken links in the docs 2015-04-16 23:50:16 -04:00
Steve Klabnik 525a1462b5 Descripe tuple indexing in TRPL
FIxes #23962
2015-04-16 23:50:16 -04:00
Steve Klabnik dc4554a9b3 Make note of documentation tests and binaries
Fixes #24228
2015-04-16 23:50:16 -04:00
Steve Klabnik a2ccc81f4b remove example usage of from_str in error docs
Fixes #24185
2015-04-16 23:50:16 -04:00
Steve Klabnik 3ca83a79bf Make note of possible XSS in Rustdoc
Fixes #24160
2015-04-16 23:50:12 -04:00
Steve Klabnik 00a8d65ef3 document missing attributes in the reference
Fixes #24406
2015-04-16 22:23:37 -04:00
Corey Farwell 3908bae77b Indicate None is code-like in doc comments 2015-04-16 22:23:37 -04:00
Philip Munksgaard 35a4100af0 Add Debug to MethodCallee
This fixes #24497
2015-04-16 22:23:37 -04:00
Florian Hartwig 16b60cf003 Fix some broken links in the book 2015-04-16 22:23:37 -04:00
Aram Visser ff1dcba342 Fixed typo in hash_map::Entry documentation 2015-04-16 22:23:37 -04:00
Mathijs van de Nes 32956cb565 Use BTreeMap in build_sidebar_items
This ensures that later when generating HTML, the JSON will be sorted aswell.
We now have a deterministic build of sidebar-items.js
2015-04-16 22:23:37 -04:00
Ting-Yu Lin e12671b4d7 Fix link id for stackoverflow
The document does not display properly if the link id contains a space.
2015-04-16 22:23:36 -04:00
Luke Gallagher 6d36714633 Fix some documentation typos 2015-04-16 22:23:36 -04:00
Chris Wong 0e4a77bbfe rustc: Add long diagnostics for E0306 and E0307 2015-04-16 22:23:36 -04:00
Chris Wong 77e8ddfaf3 rustc: Add long diagnostics for E0170 2015-04-16 22:23:36 -04:00
Chris Wong aaf92f04d1 rustc: Add long diagnostics for E0161 2015-04-16 22:23:36 -04:00
Chris Wong c08facfcfd rustc: Add long diagnostics for E0158 2015-04-16 22:23:36 -04:00
Chris Wong 521ae488db rustc: Add long diagnostics for E0152 2015-04-16 22:23:36 -04:00
Mathijs van de Nes 0afdab11ec Omit 'obsolete' note for warning if -Awarning 2015-04-16 22:23:36 -04:00
bors a52182ffde Auto merge of #24420 - pnkfelix:oflo-api, r=alexcrichton
Fill in missing parts of Integer overflow API 

See todo list at #22020
2015-04-17 00:28:48 +00:00
Felix S. Klock II 4f67850964 Fix test for 32-bit targets.
(The cast from the 64-bit value to isize was using the lower 32-bits,
which led to it being treated as a large positive value rather than a
smallish negative one. The fix was to use the same bits for the upper-
and lower- 32 bits.)
2015-04-17 02:03:38 +02:00
bors 1014ac44f6 Auto merge of #24396 - alexcrichton:rustdoc2, r=aturon
A few final improvements to rustdoc for 1.0:

* Improve how rustdoc handles stability
* Fix cross-crate macro source links
* Improve experience of types inheriting methods through `Deref`

Some more details can be found in the commits.

[Preview](http://people.mozilla.org/~acrichton/doc/std/)
2015-04-16 20:34:55 +00:00
Alex Crichton 71c1b5b704 rustdoc: Inline methods inhereted through Deref
Whenever a type implements Deref, rustdoc will now add a section to the "methods
available" sections for "Methods from Deref<Target=Foo>", listing all the
inherent methods of the type `Foo`.

Closes #19190
2015-04-16 13:28:15 -07:00
Alex Crichton 8fb31f75c9 rustdoc: Fix cross-crate macro source links
The source filename for cross crate macros isn't quite right so the normal
generated links are invalid.

Closes #21311
2015-04-16 09:44:33 -07:00
Alex Crichton 0a46933c4d rustdoc: Overhaul stability displays
This commit is an overhaul to how rustdoc deals with stability of the standard
library. The handling has all been revisited with respect to Rust's current
approach to stability in terms of implementation as well as the state of the
standard library today. The high level changes made were:

* Stable items now have no marker by default
* Color-based small stability markers have been removed
* Module listings now fade out unstable/deprecated items slightly
* Trait methods have a separate background color based on stability and also
  list the reason that they are unstable.
* `impl` blocks with stability no longer render at all. This may be re-added
  once the compiler recognizes stability on `impl` blocks.
* `impl` blocks no longer have stability of the methods implemente indicated
* The stability summary has been removed

Closes #15468
Closes #21674
Closes #24201
2015-04-16 09:44:33 -07:00
bors e9080ec39d Auto merge of #24181 - jgallagher:aarch64-hfa, r=pnkfelix
I doubt this PR is ready to merge as-is, for a couple reasons:

* There are no tests for this change. I'm not sure how to add tests for this change, as it modifies the C ABI for a cross-compilation target. Anecdotally, I have an iOS library I've been working on, and before this change, it crashes running on an arm64 device due to bad calling conventions (a simplified example is in #24154), and after this change, it runs correctly.
* This is my first foray into LLVM. I did my best to reimplement what Clang does for AArch64 codegen (https://github.com/llvm-mirror/clang/blob/master/lib/CodeGen/TargetInfo.cpp), particularly in `ABIInfo::isHomogeneousAggregate`, `AArch64ABIInfo::isHomogeneousAggregateBaseType`, and `AArch64ABIInfo::isHomogeneousAggregateSmallEnough`, but I'm not confident I got a complete translation, particularly because Clang includes a lot of checks that I don't believe are necessary for rustc.

Fixes #24154.
2015-04-16 15:33:54 +00:00
bors 5576b0558c Auto merge of #24448 - alexcrichton:issue-24445, r=huonw
One of the parameters to the magical "register a thread-local destructor"
function is called `__dso_handle` and largely just passed along (this seems to
be what other implementations do). Currently we pass the *value* of this symbol,
but apparently the correct piece of information to pass is the *address* of the
symbol.

In a PIE binary the symbol actually contains an address to itself which is why
we've gotten away with what we're doing as long as we have. In a non-PIE binary
the symbol contains the address `NULL`, causing a segfault in the runtime
library if it keeps going.

Closes #24445
2015-04-16 13:29:52 +00:00
bors ac2b6f6066 Auto merge of #24437 - fhahn:issue-24434, r=alexcrichton
closes #24434 

This PR changes executes `syntax::config::strip_unconfigured_items` before `syntax::feature_gate::check_crate_macros(sess.codemap()`. As far as I know, `strip_unconfigured_items` should be independent of `check_crate_macros`.
2015-04-16 11:27:52 +00:00
bors 8f209d5a3e Auto merge of #24423 - tbelaire:include_bytes, r=alexcrichton
This is a little bit tricky, since with include_str!, we know that we
are including utf-8 content, so it's safe to store the source as a
String in a FileMap. We don't know that for include_bytes!, but I don't
think we actually need to track the contents anyways, so I'm passing "".

new_filemap does check for the zero length content, and it should be
reasonable, howeven I'm not sure if it would be better to pass None
instead of Some(Rc::new("")) as the src component of a FileMap.

Fixes bug #24348
2015-04-16 08:28:27 +00:00
bors 798fa2276c Auto merge of #24306 - l0kod:libc-noctty, r=alexcrichton
cf. open(2): If the open file refers to a terminal device it will not become the process's controlling terminal even if the process does not have one.
2015-04-16 05:27:20 +00:00
bors 288809c8f3 Auto merge of #23682 - tamird:DRY-is-empty, r=alexcrichton
r? @alexcrichton
2015-04-16 03:22:21 +00:00
bors e40449e0d5 Auto merge of #24485 - brson:is, r=alexcrichton
It was an oversight that this was not done in the great int upheaval.

[breaking-change]
2015-04-16 01:17:04 +00:00
Brian Anderson 5a3a599428 Forbid is/us suffixes. Fixes #22496
It was an oversight that this was not done in the great int upheaval.

[breaking-change]
2015-04-15 16:13:26 -07:00
bors abf0548b5c Auto merge of #24481 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #24425, #24435, #24438, #24440, #24449, #24457, #24460, #24465, #24467, #24468, #24471, #24476, #24480
- Failed merges:
2015-04-15 23:09:02 +00:00
Steve Klabnik 7644ef8c2b Rollup merge of #24480 - achanda:move_test, r=alexcrichton
- Also move common functions to test.rs
- Leaves out Socket address related tests in addr.rs
2015-04-15 17:26:09 -04:00
Steve Klabnik 438011dc48 Rollup merge of #24476 - brettcannon:patch-3, r=steveklabnik
"as an library" -> "as a library"
2015-04-15 17:26:09 -04:00
Steve Klabnik ff7c991305 Rollup merge of #24471 - andrewseidl:master, r=alexcrichton
Use external instead of relative link for rustbyexample.com in generated `src/doc/index.md`. (http://doc.rust-lang.org/nightly/index.html)

Previous: http://doc.rust-lang.org/nightly/rustbyexample.com
Desired: http://rustbyexample.com/
2015-04-15 17:26:09 -04:00
Steve Klabnik 68648fe0da Rollup merge of #24468 - brettcannon:patch-2, r=alexcrichton
Link spanned a line and was missing the actual link target.
2015-04-15 17:26:08 -04:00
Steve Klabnik f4647ac3b7 Rollup merge of #24467 - brettcannon:patch-1, r=alexcrichton
Had a newline in middle of a link, causing the link text to be shown with `[]`.
2015-04-15 17:26:08 -04:00
Steve Klabnik df54719be0 Rollup merge of #24465 - steveklabnik:intoiteratordocfix, r=alexcrichton 2015-04-15 17:26:08 -04:00
Steve Klabnik 111404fc21 Rollup merge of #24460 - bytewiseand:master, r=alexcrichton
Closes #24197
Closes #24375

These ICEs are fixed on nightly.
2015-04-15 17:26:08 -04:00
Steve Klabnik 79e5c0051c Rollup merge of #24457 - Ms2ger:more-typos, r=alexcrichton 2015-04-15 17:26:07 -04:00
Steve Klabnik b5378f452e Rollup merge of #24449 - richo:typo, r=alexcrichton
Spotted a typo, opened a tiny PR.
2015-04-15 17:26:07 -04:00
Steve Klabnik 68a9e6a933 Rollup merge of #24440 - nham:improve_enumerate_doc, r=alexcrichton
I found that the current description of `enumerate()` doesn't actually tell you what, specifically, the method does, and you have to look at the example to figure it out. Here's a description that I think is better.
2015-04-15 17:26:07 -04:00
Steve Klabnik 63d524d4ab Rollup merge of #24438 - nrc:tuple-span, r=sfackler 2015-04-15 17:26:07 -04:00
Steve Klabnik 71156035cc Rollup merge of #24435 - killercup:patch-9, r=steveklabnik
The link works on the `std/ptr/index.html` docs page, but not the `std/primitive.pointer.html` page. Instead of leaving it half-broken, it is removed.

I tried fixing this in #24432, but @alexcrichton mentioned that this doc string was used in two places (with different base paths unfortunately).

r? @alexcrichton
2015-04-15 17:26:07 -04:00
Steve Klabnik 031619f5af Rollup merge of #24425 - dhuseby:bitrig_fixing_tests_3, r=alexcrichton
the code block in the no-stdlib.md file caused test failure on bitrig and openbsd.

Closes #24108
2015-04-15 17:26:06 -04:00
bors 07f807d01f Auto merge of #24330 - pnkfelix:issue-24267, r=nikomatsakis
Extend rustc::middle::dataflow to allow filtering kills from flow-exits.

Fix borrowck analysis so that it will not treat a break that pops through an assignment
```rust
x = { ... break; ... }
```
as a kill of the "moved-out" bit for `x`.

Fix #24267.

[breaking-change], but really, its only breaking code that was already buggy.
2015-04-15 21:05:16 +00:00