Commit Graph

41236 Commits

Author SHA1 Message Date
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 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
Abhishek Chanda 63e5848cc6 Move IP related tests to ip.rs
- Also move common functions to test.rs
- Leaves out Socket address related tests in addr.rs
2015-04-15 13:53:10 -07:00
Brett Cannon 9ce73d40d4 Grammar fix
"as an library" -> "as a library"
2015-04-15 15:56:01 -04:00
Nick Hamann 2b86f1f428 Describe the Iterator enumerate() method more clearly. 2015-04-15 13:38:23 -05:00
Andrew Seidl 86ec4571d5 doc: Fix link to rustbyexample.com 2015-04-15 13:05:52 -05:00
Brett Cannon 40c7350407 Fix link to stack/heap page
Link spanned a line and was mising the actual link target.
2015-04-15 12:57:22 -04:00
Brett Cannon 09236bcb07 Fix link formatting error
Had a newline in middle of a link, causing the link text to be shown with `[]`.
2015-04-15 12:51:34 -04:00
bors ce27d024ff Auto merge of #24436 - fhahn:fix-small-typo, r=steveklabnik 2015-04-15 16:19:00 +00:00
Felix S. Klock II 77bf827968 Regression test. 2015-04-15 18:16:56 +02:00
Felix S. Klock II 1702098e6f Dataflow changes and associated borrowck fix.
Revise rustc::middle::dataflow: one must select kill-kind when calling
add_kill. The current kill-kinds are (1.) kills associated with
ends-of-scopes and (2.) kills associated with the actual action of the
expression/pattern.

Then, use this to fix borrowck analysis so that it will not treat a
break that pops through an assignment `x = { ... break; ... }` as a
kill of the "moved-out" bit for `x`.

Fix #24267.

(incorporated review feedback.)
2015-04-15 18:16:40 +02:00
Alex Crichton 3e57c6c3ba std: Fix thread_local! in non-PIE binaries
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-15 09:14:48 -07:00
Steve Klabnik e7e7c0fc85 Fix link in intoiterator docs 2015-04-15 11:43:43 -04:00
Theo Belaire e4b3faca51 Added a test for include_bytes! dep info
This tests that both include_str! and include_bytes!  mark their input
file as a dependancy, and it's correctly outputted when you run
`rustc --emit dep-info`.
2015-04-15 10:40:04 -04:00
Andreas Martens 14f2dce532 Add tests for "ident only path should have been covered"-ICE 2015-04-15 14:18:47 +02:00
Ms2ger 9a5a47eddc Fix some typos. 2015-04-15 13:37:55 +02:00
bors a691f1eefe Auto merge of #24426 - alexcrichton:windows-pipes, r=aturon
This commit removes the last remnants of file descriptors from the Windows
implementation of `std::sys` by using `CreatePipe` to create anonymous pipes
instead of the `pipe` shim provided in msvcrt.
2015-04-15 08:21:43 +00:00
Richo Healey cf43761de4 rustc: fix a typo in letter to rustc 2015-04-15 00:07:25 -07:00
bors af1c39cbd9 Auto merge of #24211 - alexcrichton:windows-wsa-flag-overlapped, r=aturon
This commit modifies the socket creation functions on windows to always specify
the `WSA_FLAG_OVERLAPPED` and `WSA_FLAG_NO_HANDLE_INHERIT` flags by default. The
overlapped flag enables IOCP APIs on Windows to be used with the socket at no
cost, enabling better interoperation with external libraries. The no handle
inherit flag mirrors the upcoming change to Unix to set CLOEXEC by default for
all handles.

Closes #24206
2015-04-15 06:18:51 +00:00
bors c7734429ea Auto merge of #24431 - ruud-v-a:explain, r=alexcrichton
This resolves part of #24407.
2015-04-15 04:14:50 +00:00
Tamir Duberstein c55ae1dc30 Fill in missing implementation 2015-04-14 20:26:04 -07:00
Tamir Duberstein 10f15e72e6 Negative case of `len()` -> `is_empty()`
`s/([^\(\s]+\.)len\(\) [(?:!=)>] 0/!$1is_empty()/g`
2015-04-14 20:26:03 -07:00
Tamir Duberstein 29ac04402d Positive case of `len()` -> `is_empty()`
`s/(?<!\{ self)(?<=\.)len\(\) == 0/is_empty()/g`
2015-04-14 20:26:03 -07:00
bors 16e1fcead1 Auto merge of #24433 - alexcrichton:rollup, r=alexcrichton 2015-04-15 01:05:03 +00:00
Alex Crichton e053571df2 Test fixes and rebase conflicts, round 2 2015-04-14 17:40:37 -07:00
Nick Cameron f37365ea92 Fix the span for tuple expressions 2015-04-15 11:20:17 +12:00
Florian Hahn 7350ce8439 Strip configuration before checking feature gates of macros
closes #24434
2015-04-14 23:39:45 +02:00
Florian Hahn 4f3d400b3d Remove superfluous `the` from `custom_attribute` feature gate message 2015-04-14 23:27:16 +02:00
Pascal Hertleif cbe9a1a6f4 Remove Incorrect Link from std::ptr::null Docs
The link works on the std::ptr docs page, but not the primitive.ptr.html page.
Instead of leaving it half-broken, it is removed.
2015-04-14 23:22:37 +02:00