]> git.lizzy.rs Git - rust.git/log
rust.git
9 years agoRemove Send bound from Error trait.
Michael Sproul [Sat, 17 Jan 2015 20:20:11 +0000 (12:20 -0800)]
Remove Send bound from Error trait.

9 years agoUpdate rustdoc man page
Chris Thorn [Sat, 17 Jan 2015 19:45:59 +0000 (11:45 -0800)]
Update rustdoc man page

Brings the rustdoc man page in sync with the options specified in
src/librustdoc/lib.rs. The text was taken verbatim, but I tweaked the
order to be (what I think is) somewhat logical.

9 years agos/deriving/derives in Comments/Docs
Earl St Sauver [Mon, 12 Jan 2015 10:02:38 +0000 (02:02 -0800)]
s/deriving/derives in Comments/Docs

There are a large number of places that incorrectly refer
to deriving in comments, instead of derives.

Fixes #20984

9 years agofix rollup
Steve Klabnik [Sat, 17 Jan 2015 18:58:54 +0000 (13:58 -0500)]
fix rollup

9 years agotests: Tidy and allows multi-line htmldocck commands.
Kang Seonghoon [Sat, 17 Jan 2015 18:23:52 +0000 (03:23 +0900)]
tests: Tidy and allows multi-line htmldocck commands.

9 years agotests: Add htmldocck.py script for the use of Rustdoc tests.
Kang Seonghoon [Sat, 17 Jan 2015 17:24:04 +0000 (02:24 +0900)]
tests: Add htmldocck.py script for the use of Rustdoc tests.

The script is intended as a tool for doing every sort of verifications
amenable to Rustdoc's HTML output. For example, link checkers would go
to this script. It already parses HTML into a document tree form (with
a slight caveat), so future tests can make use of it.

As an example, relevant `rustdoc-*` run-make tests have been updated
to use `htmldocck.py` and got their `verify.sh` removed. In the future
they may go to a dedicated directory with htmldocck running by default.
The detailed explanation of test scripts is provided as a docstring of
htmldocck.

cc #19723

9 years agoremove test_find_equiv, since find_equiv doesn't exist anymore
Benjamin Peterson [Sat, 17 Jan 2015 16:29:24 +0000 (11:29 -0500)]
remove test_find_equiv, since find_equiv doesn't exist anymore

9 years agodocs: grammar fix
Alfie John [Sat, 17 Jan 2015 13:19:21 +0000 (13:19 +0000)]
docs: grammar fix

9 years agodoc: Remove extra whitespace in the middle of lines to provide alignment
Nick Howell [Sun, 4 Jan 2015 17:31:02 +0000 (12:31 -0500)]
doc: Remove extra whitespace in the middle of lines to provide alignment

"Idiomatic code should not use extra whitespace in the middle of a line to provide alignment."
http://aturon.github.io/style/whitespace.html

I realize the linked page still needs an RFC, but the docs should be written in accordance with the guidelines nevertheless.

9 years agostd: Move the bitflags! macro to a gated crate
Alex Crichton [Fri, 16 Jan 2015 20:20:03 +0000 (12:20 -0800)]
std: Move the bitflags! macro to a gated crate

In accordance with [collections reform part 2][rfc] this macro has been moved to
an external [bitflags crate][crate] which is [available though
crates.io][cratesio]. Inside the standard distribution the macro has been moved
to a crate called `rustc_bitflags` for current users to continue using.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0509-collections-reform-part-2.md
[crate]: https://github.com/rust-lang/bitflags
[cratesio]: http://crates.io/crates/bitflags

The major user of `bitflags!` in terms of a public-facing possibly-stable API
today is the `FilePermissions` structure inside of `std::io`. This user,
however, will likely no longer use `bitflags!` after I/O reform has landed. To
prevent breaking APIs today, this structure remains as-is.

Current users of the `bitflags!` macro should add this to their `Cargo.toml`:

    bitflags = "0.1"

and this to their crate root:

    #[macro_use] extern crate bitflags;

Due to the removal of a public macro, this is a:

[breaking-change]

9 years agoBeef up Copy documentation
Steve Klabnik [Fri, 16 Jan 2015 21:21:06 +0000 (16:21 -0500)]
Beef up Copy documentation

Fixes #21249
Fixes #11540

9 years agoAdd C -> Rust example to FFI chapter of the book.
Steve Klabnik [Fri, 16 Jan 2015 20:27:44 +0000 (15:27 -0500)]
Add C -> Rust example to FFI chapter of the book.

Fixes #10489.

9 years agoUpdate syntax of ignored test.
Steve Klabnik [Fri, 16 Jan 2015 21:42:53 +0000 (16:42 -0500)]
Update syntax of ignored test.

9 years agoFix up titles of TRPL chapters
Steve Klabnik [Fri, 16 Jan 2015 20:30:27 +0000 (15:30 -0500)]
Fix up titles of TRPL chapters

9 years agoMake Index trait example clearer
Volker Mische [Fri, 16 Jan 2015 20:29:43 +0000 (21:29 +0100)]
Make Index trait example clearer

The example of the `Index` and `IndexMut` trait contained too much `Foo`.
It now contains a bit more `Bar` to make things clearer which parts are
defining the type of the index.

9 years agoFix typo.
Ms2ger [Fri, 16 Jan 2015 18:08:08 +0000 (19:08 +0100)]
Fix typo.

9 years agoBump LICENSE copyright year
Corey Farwell [Fri, 16 Jan 2015 17:09:49 +0000 (12:09 -0500)]
Bump LICENSE copyright year

9 years agoIntpocalypse, book edition.
Steve Klabnik [Tue, 13 Jan 2015 15:40:18 +0000 (10:40 -0500)]
Intpocalypse, book edition.

Fix all usage of int/uint/i/u in the book.

9 years agoEvaluate # fn in docs
Steve Klabnik [Mon, 12 Jan 2015 21:59:34 +0000 (16:59 -0500)]
Evaluate # fn in docs

I searched for times when we were hiding functions with # in the documentation,
and fixed them to not use it unless neccesary.

I also made random improvements whenever I changed something. For example,
I changed Example to Examples, for consistency.

Fixes #13423

9 years agoRemove segmented stack info from the FFI chapter of the book.
Steve Klabnik [Mon, 12 Jan 2015 18:41:37 +0000 (13:41 -0500)]
Remove segmented stack info from the FFI chapter of the book.

Fixes #20071.

9 years agoReplace obsolete constructions in into examples
Andrew Barchuk [Wed, 14 Jan 2015 20:28:48 +0000 (22:28 +0200)]
Replace obsolete constructions in into examples

Replace deprecated integer suffixes. Remove integer type notations
altogether where possible. Replace uses of deprecated `range()`
function with range notation.

9 years agoRemove Thread::detach() call from intro example
Andrew Barchuk [Wed, 14 Jan 2015 19:59:46 +0000 (21:59 +0200)]
Remove Thread::detach() call from intro example

The mentioned method are no longer part of Thread. Spawned threads are
detached by default as of now.

9 years agoFix intro concurrency examples compilation warns
Andrew Barchuk [Tue, 13 Jan 2015 21:22:32 +0000 (23:22 +0200)]
Fix intro concurrency examples compilation warns

* Use range notation instead of deprecated `range()`

* Remove deprecated `u` integer suffixes used in ranges

* Replace deprecated `i` integer suffixes with `is` for vector numbers

`Thread::spawn()` still gives "use of unstable item" warning which I
hadn't found a way to fix.

9 years agoRevert stability for Bitv and BitvSet
Simonas Kazlauskas [Thu, 15 Jan 2015 20:56:53 +0000 (22:56 +0200)]
Revert stability for Bitv and BitvSet

The collections were promoted to stable by mistake and do not match RFC 509.
This reverts the stability back to unstable.

[breaking-change] since previously stable API became unstable.

Fixes #21193

9 years agoAdd enum discriminats to the reference.
Steve Klabnik [Mon, 12 Jan 2015 21:07:44 +0000 (16:07 -0500)]
Add enum discriminats to the reference.

Fixes #15755

9 years agoAdd note about libc::exit's unsafety.
Steve Klabnik [Mon, 12 Jan 2015 18:13:01 +0000 (13:13 -0500)]
Add note about libc::exit's unsafety.

Fixes #19245.

9 years agoauto merge of #21233 : huonw/rust/simd-size, r=Aatch
bors [Sat, 17 Jan 2015 10:58:43 +0000 (10:58 +0000)]
auto merge of #21233 : huonw/rust/simd-size, r=Aatch

This stops the compiler ICEing on the use of SIMD types in FFI signatures. It emits correct code for LLVM intrinsics, but I am quite unsure about the ABI handling in general so I've added a new feature gate `simd_ffi` to try to ensure people don't use it without realising there's a non-trivial risk of codegen brokenness.

Closes #20043.

9 years agoauto merge of #21205 : alexcrichton/rust/issue-21202, r=nikomatsakis
bors [Sat, 17 Jan 2015 08:51:38 +0000 (08:51 +0000)]
auto merge of #21205 : alexcrichton/rust/issue-21202, r=nikomatsakis

Loading methods from external crates was erroneously using the type's privacy
for each method instead of each method's privacy. This commit fixes that.

Closes #21202

This commit also moves privacy to its own crate because I thought that was where the bug was. Turns out it wasn't, but it helped me iterate at least!

9 years agoRemove unnecessary explicit conversions to *const T
we [Sat, 17 Jan 2015 04:34:10 +0000 (07:34 +0300)]
Remove unnecessary explicit conversions to *const T

9 years agoauto merge of #21132 : sfackler/rust/wait_timeout, r=alexcrichton
bors [Sat, 17 Jan 2015 03:51:34 +0000 (03:51 +0000)]
auto merge of #21132 : sfackler/rust/wait_timeout, r=alexcrichton

**The implementation is a direct adaptation of libcxx's condition_variable implementation.**

I also added a wait_timeout_with method, which matches the second overload in C++'s condition_variable. The implementation right now is kind of dumb but it works. There is an outstanding issue with it: as is it doesn't support the use case where a user doesn't care about poisoning and wants to continue through poison.

r? @alexcrichton @aturon

9 years agoGrammar tweak to old guide stub documents.
Tim Parenti [Sat, 17 Jan 2015 03:25:22 +0000 (22:25 -0500)]
Grammar tweak to old guide stub documents.

Removes extra "the" from the phrase "the the Rust Programming Language
book", which isn't particularly grammatical.

9 years agoAddress nits in trait suggestions.
Huon Wilson [Sat, 17 Jan 2015 01:29:26 +0000 (12:29 +1100)]
Address nits in trait suggestions.

9 years agoFeature gate SIMD in FFI, due to unknown ABIs.
Huon Wilson [Thu, 15 Jan 2015 23:16:20 +0000 (10:16 +1100)]
Feature gate SIMD in FFI, due to unknown ABIs.

I don't know if this handling of SIMD types is correct for the C ABI on
all platforms, so lets add an even finer feature gate than just the
`simd` one.

The `simd` one can be used with (relatively) little risk of complete
nonsense, the reason for it is that it is likely that things will
change. Using the types in FFI with an incorrect ABI will at best give
absolute nonsense results, but possibly cause serious breakage too, so
this is a step up in badness, hence a new feature gate.

9 years agoAdd comprehensive test for no-ICE behaviour of SIMD FFI.
Huon Wilson [Thu, 15 Jan 2015 22:23:18 +0000 (09:23 +1100)]
Add comprehensive test for no-ICE behaviour of SIMD FFI.

This just compiles a test using SIMD in FFI (mostly importing LLVM
intrinsics) for almost all rustc's supported platforms, but not linking
it or running it, so there's absolutely no guarantee that this is correct.

9 years agosyntax: Feature gate #[start] and #[main]
Alex Crichton [Fri, 16 Jan 2015 18:55:24 +0000 (10:55 -0800)]
syntax: Feature gate #[start] and #[main]

These two attributes are used to change the entry point into a Rust program, but
for now they're being put behind feature gates until we have a chance to think
about them a little more. The #[start] attribute specifically may have its
signature changed.

This is a breaking change to due the usage of these attributes generating errors
by default now. If your crate is using these attributes, add this to your crate
root:

    #![feature(start)] // if you're using the #[start] attribute
    #![feature(main)]  // if you're using the #[main] attribute

cc #20064

9 years agoauto merge of #21008 : huonw/rust/trait-suggestions, r=nikomatsakis
bors [Fri, 16 Jan 2015 22:41:16 +0000 (22:41 +0000)]
auto merge of #21008 : huonw/rust/trait-suggestions, r=nikomatsakis

For a call like `foo.bar()` where the method `bar` can't be resolved,
the compiler will search for traits that have methods with name `bar` to
give a more informative error, providing a list of possibilities.

Closes #7643.

9 years agoFixes `join_multicast` on Windows #20381
Daniil Smirnov [Fri, 16 Jan 2015 22:37:07 +0000 (01:37 +0300)]
Fixes `join_multicast` on Windows #20381

9 years agoauto merge of #21113 : alexcrichton/rust/plug-a-hole, r=brson
bors [Fri, 16 Jan 2015 19:17:30 +0000 (19:17 +0000)]
auto merge of #21113 : alexcrichton/rust/plug-a-hole, r=brson

With the addition of separate search paths to the compiler, it was intended that
applications such as Cargo could require a `--extern` flag per `extern crate`
directive in the source. The system can currently be subverted, however, due to
the `existing_match()` logic in the crate loader.

When loading crates we first attempt to match an `extern crate` directive
against all previously loaded crates to avoid reading metadata twice. This "hit
the cache if possible" step was erroneously leaking crates across the search
path boundaries, however. For example:

    extern crate b;
    extern crate a;

If `b` depends on `a`, then it will load crate `a` when the `extern crate b`
directive is being processed. When the compiler reaches `extern crate a` it will
use the previously loaded version no matter what. If the compiler was not
invoked with `-L crate=path/to/a`, it will still succeed.

This behavior is allowing `extern crate` declarations in Cargo without a
corresponding declaration in the manifest of a dependency, which is considered
a bug.

This commit fixes this problem by keeping track of the origin search path for a
crate. Crates loaded from the dependency search path are not candidates for
crates which are loaded from the crate search path.

9 years agoRewrite Condvar::wait_timeout and make it public
Steven Fackler [Wed, 14 Jan 2015 05:24:26 +0000 (21:24 -0800)]
Rewrite Condvar::wait_timeout and make it public

**The implementation is a direct adaptation of libcxx's
condition_variable implementation.**

pthread_cond_timedwait uses the non-monotonic system clock. It's
possible to change the clock to a monotonic via pthread_cond_attr, but
this is incompatible with static initialization. To deal with this, we
calculate the timeout using the system clock, and maintain a separate
record of the start and end times with a monotonic clock to be used for
calculation of the return value.

9 years agorustc: Fix a leak in dependency= paths
Alex Crichton [Tue, 6 Jan 2015 16:46:07 +0000 (08:46 -0800)]
rustc: Fix a leak in dependency= paths

With the addition of separate search paths to the compiler, it was intended that
applications such as Cargo could require a `--extern` flag per `extern crate`
directive in the source. The system can currently be subverted, however, due to
the `existing_match()` logic in the crate loader.

When loading crates we first attempt to match an `extern crate` directive
against all previously loaded crates to avoid reading metadata twice. This "hit
the cache if possible" step was erroneously leaking crates across the search
path boundaries, however. For example:

    extern crate b;
    extern crate a;

If `b` depends on `a`, then it will load crate `a` when the `extern crate b`
directive is being processed. When the compiler reaches `extern crate a` it will
use the previously loaded version no matter what. If the compiler was not
invoked with `-L crate=path/to/a`, it will still succeed.

This behavior is allowing `extern crate` declarations in Cargo without a
corresponding declaration in the manifest of a dependency, which is considered
a bug.

This commit fixes this problem by keeping track of the origin search path for a
crate. Crates loaded from the dependency search path are not candidates for
crates which are loaded from the crate search path.

As a result of this fix, this is a likely a breaking change for a number of
Cargo packages. If the compiler starts informing that a crate can no longer be
found, it likely means that the dependency was forgotten in your Cargo.toml.

[breaking-change]

9 years agorustc_resolve: Correctly record privacy of methods
Alex Crichton [Thu, 15 Jan 2015 18:49:47 +0000 (10:49 -0800)]
rustc_resolve: Correctly record privacy of methods

Loading methods from external crates was erroneously using the type's privacy
for each method instead of each method's privacy. This commit fixes that.

Closes #21202

9 years agorustc: Move the privacy pass to its own crate
Alex Crichton [Thu, 15 Jan 2015 18:47:17 +0000 (10:47 -0800)]
rustc: Move the privacy pass to its own crate

9 years agoauto merge of #21162 : apasel422/rust/issue-16530, r=huonw
bors [Fri, 16 Jan 2015 16:21:06 +0000 (16:21 +0000)]
auto merge of #21162 : apasel422/rust/issue-16530, r=huonw

This fixes #16530 by hashing nullary structs [the same way as the empty tuple] (https://github.com/rust-lang/rust/blob/master/src/libcore/hash/mod.rs#L185). Other approaches are possible, but this was the simplest.

9 years agoauto merge of #20972 : FlaPer87/rust/oibit-send-and-friends, r=nikomatsakis
bors [Fri, 16 Jan 2015 13:10:59 +0000 (13:10 +0000)]
auto merge of #20972 : FlaPer87/rust/oibit-send-and-friends, r=nikomatsakis

This PR adds rules for negative implementations. It follows pretty much what the [RFC](https://github.com/rust-lang/rfcs/blob/master/text/0019-opt-in-builtin-traits.md) says with 1 main difference:

Instead of positive implementations override negative implementations, this have been implemented in a way that a negative implementation of `Trait` for `T` will overlap with a positive implementation, causing a coherence error.

@nikomatsakis r?

cc #13231

[breaking-change]

9 years agoPrefer implemented traits in suggestions.
Huon Wilson [Fri, 16 Jan 2015 11:27:40 +0000 (22:27 +1100)]
Prefer implemented traits in suggestions.

If `a.method();` can't be resolved, we first look for implemented traits
globally and suggest those. If there are no such traits found, we only
then fall back to suggesting from the unfiltered list of traits.

9 years agoPut vector types in regs for arm & mips FFI.
Huon Wilson [Thu, 15 Jan 2015 03:43:24 +0000 (14:43 +1100)]
Put vector types in regs for arm & mips FFI.

This seems to match what clang does on arm, but I cannot do any
experimentation with mips, but it matches how the LLVM intrinsics are
defined in any case...

9 years agoSupport SSE with integer types in x86-64 FFI.
Huon Wilson [Thu, 15 Jan 2015 02:49:41 +0000 (13:49 +1100)]
Support SSE with integer types in x86-64 FFI.

Unlike the intrinics in C, this types the SSE values base on integer
size. This matches the LLVM intrinsics which have concrete vector types
(`<4 x i32>` etc.), and is no loss of expressivity: if one is using a C
function that really takes an untyped integral SSE value, just give it
whatever Rust type makes most sense.

9 years agoAdd `Type::int_width` for retrieving integer's bit width.
Huon Wilson [Wed, 14 Jan 2015 14:08:22 +0000 (01:08 +1100)]
Add `Type::int_width` for retrieving integer's bit width.

9 years agoSupport SSE types in extern {} better.
Huon Wilson [Wed, 14 Jan 2015 13:27:38 +0000 (00:27 +1100)]
Support SSE types in extern {} better.

This seems to work on x86-64, but I am not able to test on other
platforms.

cc #20043

9 years agofix pretty test fallout
Flavio Percoco [Fri, 16 Jan 2015 10:47:48 +0000 (11:47 +0100)]
fix pretty test fallout

9 years agoDocs fallout
Flavio Percoco [Fri, 16 Jan 2015 07:18:39 +0000 (08:18 +0100)]
Docs fallout

9 years agopopulate impls *before* clonning the impls vec
Flavio Percoco [Thu, 15 Jan 2015 09:09:00 +0000 (10:09 +0100)]
populate impls *before* clonning the impls vec

9 years agofix latest changes fallout
Flavio Percoco [Wed, 14 Jan 2015 07:50:56 +0000 (08:50 +0100)]
fix latest changes fallout

9 years agoaddressed comments
Flavio Percoco [Tue, 13 Jan 2015 19:21:19 +0000 (20:21 +0100)]
addressed comments

9 years agoAllow negative impls just for Send and Sync
Flavio Percoco [Mon, 12 Jan 2015 09:59:22 +0000 (10:59 +0100)]
Allow negative impls just for Send and Sync

9 years agoDon't use NoSend/NoSync in tests
Flavio Percoco [Sun, 11 Jan 2015 12:14:39 +0000 (13:14 +0100)]
Don't use NoSend/NoSync in tests

9 years agoFix coherence for negative implementations
Flavio Percoco [Wed, 7 Jan 2015 18:27:01 +0000 (19:27 +0100)]
Fix coherence for negative implementations

9 years agoadd a run-pass test that used to fail
Flavio Percoco [Sun, 11 Jan 2015 14:51:52 +0000 (15:51 +0100)]
add a run-pass test that used to fail

9 years agoDon't use NoSend/NoSync in libstd
Flavio Percoco [Sun, 11 Jan 2015 10:10:04 +0000 (11:10 +0100)]
Don't use NoSend/NoSync in libstd

9 years agoDon't use NoSend/NoSync in liballoc
Flavio Percoco [Sun, 11 Jan 2015 10:09:53 +0000 (11:09 +0100)]
Don't use NoSend/NoSync in liballoc

9 years agoRemove NoSend/NoSync
Flavio Percoco [Sun, 11 Jan 2015 10:09:31 +0000 (11:09 +0100)]
Remove NoSend/NoSync

9 years agoCheck for negative impls for `Send` and `Sync`
Flavio Percoco [Wed, 7 Jan 2015 23:41:50 +0000 (00:41 +0100)]
Check for negative impls for `Send` and `Sync`

9 years agoDon't assemble bound impls if candidate's ambiguous
Flavio Percoco [Sun, 11 Jan 2015 00:01:48 +0000 (01:01 +0100)]
Don't assemble bound impls if candidate's ambiguous

9 years agoNegative impls are considered safe
Flavio Percoco [Sat, 10 Jan 2015 09:40:17 +0000 (10:40 +0100)]
Negative impls are considered safe

9 years agopush_impls_of_trait is not needed, use map
Flavio Percoco [Wed, 7 Jan 2015 19:53:02 +0000 (20:53 +0100)]
push_impls_of_trait is not needed, use map

9 years agoAdd test for missing default impl
Flavio Percoco [Wed, 7 Jan 2015 19:51:15 +0000 (20:51 +0100)]
Add test for missing default impl

9 years agoRecord negative trait_impls separatedly
Flavio Percoco [Wed, 7 Jan 2015 18:26:51 +0000 (19:26 +0100)]
Record negative trait_impls separatedly

9 years agoMerge pull request #21214 from sleepynate/spacing-in-book
bors [Fri, 16 Jan 2015 06:31:03 +0000 (06:31 +0000)]
Merge pull request #21214 from sleepynate/spacing-in-book

Fix commented graphs in src/doc/trpl/ownership.md

Reviewed-by: huonw
9 years agoMerge pull request #21211 from fenhl/patch-1
bors [Fri, 16 Jan 2015 06:31:02 +0000 (06:31 +0000)]
Merge pull request #21211 from fenhl/patch-1

Fix std::sync::condvar::Condvar::notify_one docs

Reviewed-by: alexcrichton
9 years agoMerge pull request #21181 from nick29581/save-fix
bors [Fri, 16 Jan 2015 06:31:02 +0000 (06:31 +0000)]
Merge pull request #21181 from nick29581/save-fix

Two minor fixes for save-analysis

Reviewed-by: huonw
9 years agoauto merge of #21213 : alexcrichton/rust/rollup, r=alexcrichton
bors [Fri, 16 Jan 2015 03:02:54 +0000 (03:02 +0000)]
auto merge of #21213 : alexcrichton/rust/rollup, r=alexcrichton

9 years agoTest fixes and rebase conflicts
Alex Crichton [Thu, 15 Jan 2015 23:01:31 +0000 (15:01 -0800)]
Test fixes and rebase conflicts

9 years agoFix commented graphs in src/doc/trpl/ownership.md
nathan dotz [Thu, 15 Jan 2015 23:15:18 +0000 (18:15 -0500)]
Fix commented graphs in src/doc/trpl/ownership.md

9 years agoFix sync::condvar::Condvar::notify_one docs
Fenhl [Thu, 15 Jan 2015 22:43:12 +0000 (22:43 +0000)]
Fix sync::condvar::Condvar::notify_one docs

9 years agoauto merge of #21052 : nick29581/rust/methods-ext, r=sfackler
bors [Thu, 15 Jan 2015 22:42:58 +0000 (22:42 +0000)]
auto merge of #21052 : nick29581/rust/methods-ext, r=sfackler

Allows modifiers to be used on methods, associated types, etc.

r? @sfackler

9 years agorollup merge of #21206: steveklabnik/expressions
Alex Crichton [Thu, 15 Jan 2015 22:12:08 +0000 (14:12 -0800)]
rollup merge of #21206: steveklabnik/expressions

Suggested here: http://stackoverflow.com/a/27962076/24817

9 years agorollup merge of #21199: dotdash/decode_lamba
Alex Crichton [Thu, 15 Jan 2015 22:12:07 +0000 (14:12 -0800)]
rollup merge of #21199: dotdash/decode_lamba

Currently, we build a closure that does nothing but pass its argument
through to another function, this is rather wasteful and creates lots of
unnecessary closures.

9 years agorollup merge of #21197: michaelwoerister/linestablesonly-forloop
Alex Crichton [Thu, 15 Jan 2015 22:12:06 +0000 (14:12 -0800)]
rollup merge of #21197: michaelwoerister/linestablesonly-forloop

Fixes #21067.

9 years agorollup merge of #21191: Zoxc/lto
Alex Crichton [Thu, 15 Jan 2015 22:12:04 +0000 (14:12 -0800)]
rollup merge of #21191: Zoxc/lto

Fixes #21184

9 years agorollup merge of #21190: FlaPer87/remove_duplicated_func
Alex Crichton [Thu, 15 Jan 2015 22:12:03 +0000 (14:12 -0800)]
rollup merge of #21190: FlaPer87/remove_duplicated_func

small cleanup

r? @nikomatsakis

9 years agorollup merge of #21172: brson/tuple
Alex Crichton [Thu, 15 Jan 2015 22:12:03 +0000 (14:12 -0800)]
rollup merge of #21172: brson/tuple

This outer attribute doesn't actually apply to anything is seems
to be incorrect in what it is saying.

9 years agorollup merge of #21170: Diggsey/issue-21058
Alex Crichton [Thu, 15 Jan 2015 22:12:02 +0000 (14:12 -0800)]
rollup merge of #21170: Diggsey/issue-21058

While it's unstable and will probably be replaced or "reformed" at some point, it's useful in the mean time to be able to introspect the type system when debugging, and not be limited to sized types.

Fixes #21058

9 years agorollup merge of #21169: aidanhs/aphs-contributing-style-link
Alex Crichton [Thu, 15 Jan 2015 22:12:01 +0000 (14:12 -0800)]
rollup merge of #21169: aidanhs/aphs-contributing-style-link

9 years agorollup merge of #21168: aidanhs/aphs-doc-vec-heap
Alex Crichton [Thu, 15 Jan 2015 22:12:00 +0000 (14:12 -0800)]
rollup merge of #21168: aidanhs/aphs-doc-vec-heap

...to make it slightly clearer that there's not much point in boxing a vec.

On a different note, I read the contribution guidelines (https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#pull-request-procedure) which say I should update the copyright date for this file. But I can see that nobody else has done this so far this year, despite there being a fair number of commits.

Does that instruction need removing?

9 years agorollup merge of #21167: FlaPer87/coherence-impls
Alex Crichton [Thu, 15 Jan 2015 22:12:00 +0000 (14:12 -0800)]
rollup merge of #21167: FlaPer87/coherence-impls

Fixes #21080

r? @nikomatsakis

[breaking-change]

9 years agorollup merge of #21164: richo/doc/servo-link
Alex Crichton [Thu, 15 Jan 2015 22:11:59 +0000 (14:11 -0800)]
rollup merge of #21164: richo/doc/servo-link

Tiny docfix to make the urls point to the canonical endpoint.

9 years agorollup merge of #21161: japaric/ufcs-hash
Alex Crichton [Thu, 15 Jan 2015 22:11:58 +0000 (14:11 -0800)]
rollup merge of #21161: japaric/ufcs-hash

expansion now uses `::std::hash::Hash::hash(&*__self_0_0, __arg_0)` instead of
`(*__self_0_0).hash(__arg_0)`

closes #21160

r? @alexcrichton

9 years agorollup merge of #21156: nick29581/plugins-fix
Alex Crichton [Thu, 15 Jan 2015 22:11:57 +0000 (14:11 -0800)]
rollup merge of #21156: nick29581/plugins-fix

Closes #21130

r? @Aatch

9 years agorollup merge of #21151: brson/beta
Alex Crichton [Thu, 15 Jan 2015 22:11:56 +0000 (14:11 -0800)]
rollup merge of #21151: brson/beta

9 years agorollup merge of #21148: bombless/patch-1
Alex Crichton [Thu, 15 Jan 2015 22:11:55 +0000 (14:11 -0800)]
rollup merge of #21148: bombless/patch-1

9 years agorollup merge of #21144: nagisa/asm-str-fix
Alex Crichton [Thu, 15 Jan 2015 22:11:55 +0000 (14:11 -0800)]
rollup merge of #21144: nagisa/asm-str-fix

Fixes #21045

9 years agorollup merge of #21141: tcard/master
Alex Crichton [Thu, 15 Jan 2015 22:11:54 +0000 (14:11 -0800)]
rollup merge of #21141: tcard/master

Really small correction.

This anti-example in the Closures section is supposed to fail because of a borrow, but it was failing at the type inference because of insufficient type information.

This makes it fail for the expected reason.

9 years agorollup merge of #21133: iKevinY/mobile-rustdoc
Alex Crichton [Thu, 15 Jan 2015 22:11:53 +0000 (14:11 -0800)]
rollup merge of #21133: iKevinY/mobile-rustdoc

Just a couple of tweaks to improve the appearance of pages like [The Rust Reference](http://doc.rust-lang.org/reference.html) on mobile to advance the progress of #20850. Changing the viewport wasn't quite good enough to make it mobile-friendly, as large tables forced the page to become wider than the screen width. Using `overflow-x`, tables that are too large become horizontally scrollable instead of forcing the *entire page* to become horizontally scrollable.

Also, there was at least one case where an extremely long piece of inline code was wider than the actual width of the screen (`std::ptr::copy_nonoverlapping_memory`), so I changed `word-wrap` to allow inline code to break in the middle of words instead of only text within `pre` tags.

This isn't a change included in this PR, but rather something up for discussion. Currently, code blocks that contain long lines simply wrap onto the next line. What if rather than wrapping, they were horizontally scrollable instead? I'm not sure what the general preference is regarding this.

r? @steveklabnik

9 years agorollup merge of #21127: erickt/opt-stack
Alex Crichton [Thu, 15 Jan 2015 22:11:53 +0000 (14:11 -0800)]
rollup merge of #21127: erickt/opt-stack

libsyntax compiled without optimization uses a lot of stack, which can cause it to run out of stack space. This PR factors out some arm handlers from `print_expr` as well as converts `advance_left` into a loop. This helps to cut down on the stack usage.

9 years agorollup merge of #21126: sleepynate/dlist-examples
Alex Crichton [Thu, 15 Jan 2015 22:11:52 +0000 (14:11 -0800)]
rollup merge of #21126: sleepynate/dlist-examples

Just some documentation test examples for the DList collection.

9 years agorollup merge of #21124: steveklabnik/fix_redirect
Alex Crichton [Thu, 15 Jan 2015 22:11:52 +0000 (14:11 -0800)]
rollup merge of #21124: steveklabnik/fix_redirect

Why redirect Tutorial -> Guide -> Book when you can just Tutorial -> Book?

Suggested here: http://www.reddit.com/r/rust/comments/2schav/is_it_possible_to_automatically_redirect/

9 years agorollup merge of #21120: fhahn/issue-model-lexer-questionmark
Alex Crichton [Thu, 15 Jan 2015 22:11:50 +0000 (14:11 -0800)]
rollup merge of #21120: fhahn/issue-model-lexer-questionmark

This PR updates `grammar/verify.rs` to work with master and handles the question mark of `?Sized` correctly (#15879).

9 years agorollup merge of #21115: dotdash/iter_vec
Alex Crichton [Thu, 15 Jan 2015 22:11:50 +0000 (14:11 -0800)]
rollup merge of #21115: dotdash/iter_vec

There are two places left where we used to only know the byte
size of/offset into an array and had to cast to i8 and back to get the
right addresses. But by now, we always know the sizes in terms of the
number of elements in the array. In fact we have to add an extra Mul
instruction so we can use the weird cast-to-u8 code. So we should really
just embrace our new knowledge and use simple GEPs to do the address
calculations.

Fixes #3729

9 years agorollup merge of #21110: rohitjoshi/patch-1
Alex Crichton [Thu, 15 Jan 2015 22:11:48 +0000 (14:11 -0800)]
rollup merge of #21110: rohitjoshi/patch-1

When I submitted a PR #20326, mistakenly was committed using my work email. Correct the email address.

NOTE: Steve klabnik has updated  email address  in http://blog.rust-lang.org/2015/01/09/Rust-1.0-alpha.html

9 years agorollup merge of #21109: steveklabnik/gh17224
Alex Crichton [Thu, 15 Jan 2015 22:11:48 +0000 (14:11 -0800)]
rollup merge of #21109: steveklabnik/gh17224

Fixes #17224