Commit Graph

39270 Commits

Author SHA1 Message Date
Ariel Ben-Yehuda
4b116fe38c Use a plain Vec instead of VecPerParamSpace in trait selection. 2015-06-04 00:19:18 +03:00
bors
b70f49b86f Auto merge of #24910 - steveklabnik:remove_static_assert, r=alexcrichton
This was always a weird feature, and isn't being used in the compiler.
Static assertions should be done better than this.

Fixes #13951
Fixes #23008
Fixes #6676

This is behind a feature gate, but that's still a

[breaking-change]

(It's not entirely clear to me that this should or shouldn't have an RFC, but if it does, I'm fine blocking on such a thing.)
2015-06-03 18:21:09 +00:00
webmobster
24808fa076 Add priority policy to RWLock API Documentation 2015-06-03 18:55:52 +01:00
Carol Nichols
c692d75b5a Indent 4 spaces instead of 2 2015-06-03 13:23:55 -04:00
Carol Nichols
80322e2e97 Return Ok(()) instead of Ok() 2015-06-03 13:23:40 -04:00
Carol Nichols
a41fd590a8 Use write_all instead of write_line 2015-06-03 13:23:20 -04:00
Carol Nichols
d328d6472e Add prelude to get Write 2015-06-03 13:15:50 -04:00
Ms2ger
53897baec8 Remove unused get_enum_variant_defs functions. 2015-06-03 18:58:26 +02:00
Jexell
7972a000e3 Update linked_list.rs
Removed an unnecessary `transmute` and replaced some code with an equivalent method.
2015-06-03 16:14:35 +01:00
bors
9a2f68e159 Auto merge of #25966 - pelmers:save-api, r=nrc
Move EnumData into the API, and change a few spots where we use &String[..] when it is equivalent to &String.

r? @nrc
2015-06-03 14:40:37 +00:00
Carol Nichols
9634bcbd3d Improve try! docs to make clearer it returns Result.
The API documentation is not explicit enough that because `try!` returns
`Err` early for you, you can only use it in functions that return
`Result`. The book mentions this, but if you come across `try!` outside
of the book and look it up in the docs, this restriction on the return
type of the function is not particularly clear.
2015-06-03 10:12:16 -04:00
Steve Klabnik
5235065d74 Remove #[static_assert]
This was always a weird feature, and isn't being used in the compiler.
Static assertions should be done better than this.

This implements RFC #1096.

Fixes #13951
Fixes #23008
Fixes #6676

This is behind a feature gate, but that's still a

[breaking-change]
2015-06-03 09:38:13 -04:00
Felix S. Klock II
01ddbe9f33 Fix the dropck doc formatting to avoid hitting four-space indent.
This was causing `rustdoc` to interpret the part starting with
`(A.) ...` as a code block based on its four-space indentation,
which then was treated by `rustdoc` as a *Rust* code snippet,
and thus was attempting (and failing) to parse my english as
Rust code. Thus causing the compiler-docs build to fail.

Independently, we should probably change `rustdoc` to not interpret
four-space indents as code that needs to be tested; it seems too
perilous to me at least.

(But the formatting here needed to be changed either way.)

cc Issue #25699.
2015-06-03 14:34:24 +02:00
Manish Goregaokar
e490c17eb5 Rollup merge of #25974 - richo:stack-msg, r=alexcrichton
These are implemented in asm, they're just not inlined.

Open questions are:
* Should I just inline them? They're.. big, but it seems as though this needs violates the #[inline(always)] gaurantees the others make.
* Does something (llvm?) provide these as intrinsics? The structure of this code suggests that we could be hoisting off something else, instead of flagrantly ignoring it like we do for power and mips.
2015-06-03 14:46:41 +05:30
Manish Goregaokar
f90aecff76 Rollup merge of #25963 - steveklabnik:link_to_cell, r=alexcrichton 2015-06-03 14:46:40 +05:30
Manish Goregaokar
3fd41d61ab Rollup merge of #25939 - wca:fix-freebsd-configure, r=alexcrichton
Bug fixes for configure on FreeBSD:
- Don't ban using gcc; newer versions can be installed and other checks should enforce its suitability.
- Don't force Rust to link itself with /usr/local/lib{,gcc4[46]}, which causes builds to fail if Rust is already installed.  I've not been able to find an use case where this is actually necessary.
2015-06-03 14:46:40 +05:30
Nick Hamann
037456a593 Make E0201 detect when duplicate function is a method. 2015-06-03 01:34:39 -05:00
Michael Sproul
25d0ef347a Improve diagnostic messages for range patterns. 2015-06-03 16:15:15 +10:00
Nick Hamann
f1db9cd7c3 s/method/associated function/ in E0201 2015-06-02 22:15:50 -05:00
bors
2c8d75d655 Auto merge of #25935 - wesleywiser:fix_libcollection_build_warnings, r=alexcrichton
Fixes a bunch of warnings that are generated during the stage0 build of libcollections.
2015-06-03 02:47:45 +00:00
Richo Healey
506d5a8d19 std: clarify comments about sp* implementations 2015-06-02 16:55:50 -07:00
bors
e8af4752ce Auto merge of #25867 - petrochenkov:ucellv, r=alexcrichton
Now when const functions are implemented and used, the `value` field of `UnsafeCell` can be made deprecated (and then private as intended).
2015-06-02 23:23:32 +00:00
bors
dc1e79b3c2 Auto merge of #25926 - Ms2ger:enum_variant_ids, r=alexcrichton 2015-06-02 20:05:49 +00:00
Peter Elmers
1ef0ad8adc Change &String[..] to just &String, since it coerces to &str automatically. 2015-06-02 12:21:49 -07:00
Peter Elmers
6812ca1cc8 Move EnumData to the API. 2015-06-02 12:21:20 -07:00
bors
cc85db4ce6 Auto merge of #25868 - alexcrichton:issue-25505, r=brson
The compiler already has special support for fixing up verbatim paths with disks
on Windows to something that can be correctly passed down to gcc, and this
commit adds support for verbatim UNC paths as well.

Closes #25505
2015-06-02 16:37:21 +00:00
Steve Klabnik
e1a33aa987 Link to cell in TRPL: mutability 2015-06-02 09:37:54 -04:00
bors
c800b22e95 Auto merge of #25905 - michaelwoerister:lldb-pp-strings, r=brson
GDB and LLDB pretty printers have some common functionality and also access some common information, such as the layout of standard library types. So far, this information has been duplicated in the two pretty printing python modules. This PR introduces a common module used by both debuggers.

This PR also implements proper rendering of `String` and `&str` values in LLDB.
2015-06-02 13:07:41 +00:00
Felix S. Klock II
0b748002ec added test to ensure move_val_init still handles cleanups properly. 2015-06-02 10:37:56 +02:00
Felix S. Klock II
528ab1fe9b Hack the move_val_init intrinsic to trans directly into the destination address.
remove dead code further down for intrinsic.
2015-06-02 10:37:45 +02:00
Manish Goregaokar
6e97b16d02 Rollup merge of #25951 - mbrubeck:nan, r=alexcrichton
This is based on the documented behavior of cmath::{fmin,fmax}.  It is also tested by existing unit tests in this module.
2015-06-02 11:14:09 +05:30
Manish Goregaokar
98612dad9b Rollup merge of #25941 - puzza007:trpl-infinite-iterator-chain-take, r=steveklabnik 2015-06-02 11:14:08 +05:30
Manish Goregaokar
a85150b58a Rollup merge of #25936 - tshepang:patch-2, r=alexcrichton 2015-06-02 11:14:08 +05:30
Manish Goregaokar
46ebed55a6 Rollup merge of #25933 - bluss:rustdoc-fn-css, r=alexcrichton
rustdoc: Tweak css of function where clauses

Method where clauses are put indented on a new line, do the same tweak
to free functions, which makes it cleaner and easier to read.
2015-06-02 11:14:08 +05:30
Manish Goregaokar
04abc05094 Rollup merge of #25932 - bluss:doc-book-1, r=alexcrichton
trpl: Fix typo in Raw Pointers chapter
2015-06-02 11:14:08 +05:30
Manish Goregaokar
9c77784668 Rollup merge of #25920 - tshepang:option-map-example, r=Gankro 2015-06-02 11:14:08 +05:30
Manish Goregaokar
4f5a7440db Rollup merge of #25821 - jooert:remove_build_date, r=brson
Closes #25812.
2015-06-02 11:14:07 +05:30
Manish Goregaokar
7da2228861 Rollup merge of #25751 - steveklabnik:translations, r=brson
/cc @kgv, @rust-kr, @KaiserY, @mkpankov
2015-06-02 11:14:07 +05:30
bors
f813f97797 Auto merge of #25654 - petrochenkov:encenv, r=alexcrichton
Fixes https://github.com/rust-lang/rust/issues/25268 and a couple of similar test errors

r? @alexcrichton
2015-06-02 02:08:17 +00:00
Wesley Wiser
99df38347b [libcollections] Fix unused import warnings during stage0 build 2015-06-01 19:43:18 -04:00
bors
613e57b448 Auto merge of #25246 - mzabaluev:io-invalid-data, r=alexcrichton
This takes the cases from `InvalidInput` where a data format error
was encountered. This is different from the documented semantics
of `InvalidInput`, which more likely indicate a programming error.

Fixes rust-lang/rfcs#906
2015-06-01 23:12:52 +00:00
Matt Brubeck
f44d287a76 Document behavior of {f32,f64}::{min,max} on NaN
This is based on the documented behavior of cmath::{fmin,fmax}.  It is also
tested by existing unit tests in this module.
2015-06-01 15:02:11 -07:00
Steve Klabnik
321c2f4f8c Add community translations. 2015-06-01 15:57:44 -04:00
bors
a49ae5bd43 Auto merge of #25858 - alexcrichton:disable-os-tls, r=brson
This commit adds a ./configure option called `--disable-elf-tls` which disables
ELF based TLS (that which is communicated to LLVM) on platforms which already
support it. OSX 10.6 does not support this form of TLS, and some users of Rust
need to target 10.6 and are unable to do so due to the usage of TLS. The
standard library will continue to use ELF based TLS on OSX by default (as the
officially supported platform is 10.7+), but this adds an option to compile the
standard library in a way that is compatible with 10.6.

Closes #25342
2015-06-01 19:51:57 +00:00
Mathieu David
c4f42a1ab4 Added # let lines = "hello\nworld".lines(); to pass the tests 2015-06-01 21:34:31 +02:00
Tshepang Lekhonkhobe
8221715b95 doc: improve Option::map example 2015-06-01 20:49:33 +02:00
petrochenkov
a40bca29a8 Fix platform detection 2015-06-01 20:50:35 +03:00
bors
3e561f05c0 Auto merge of #25825 - GuillaumeGomez:check_co, r=Manishearth
Part of #24407.
2015-06-01 10:59:37 +00:00
Paul Oliver
5fefae684a trpl: Use infinite iterator in chain example with take 2015-06-01 12:44:50 +02:00
Guillaume Gomez
dbfc8c5a07 Update diagnostics.rs 2015-06-01 12:33:41 +02:00
Guillaume Gomez
42c5c982c4 Remove full path 2015-06-01 10:46:28 +02:00
Ms2ger
9c837c0450 Return an iterator from enum_variant_ids. 2015-06-01 10:38:29 +02:00
bors
baf508ba20 Auto merge of #25924 - FuGangqiang:master, r=Gankro 2015-06-01 04:57:00 +00:00
bors
971731849d Auto merge of #25923 - tshepang:patch-1, r=Gankro 2015-06-01 02:18:49 +00:00
bors
9cb7b3ffb6 Auto merge of #25922 - tshepang:better-map-or-doc, r=Gankro
`def` is also ambiguous
2015-06-01 00:45:44 +00:00
bors
16d037866d Auto merge of #25907 - tshepang:patch-8, r=Gankro 2015-05-31 23:13:26 +00:00
Tshepang Lekhonkhobe
3af8e14cd1 doc: make String::as_bytes example more simple 2015-06-01 00:26:11 +02:00
bors
02e4c4b8c8 Auto merge of #25911 - olombard:borrowing-link, r=alexcrichton
r? @steveklabnik
2015-05-31 21:40:47 +00:00
Mathieu David
90057c2962 output code language to text 2015-05-31 23:37:22 +02:00
Ulrik Sverdrup
0ac24d6bff rustdoc: Tweak css of function where clauses
Method where clauses are put indented on a new line, do the same tweak
to free functions, which makes it cleaner and easier to read.
2015-05-31 22:46:19 +02:00
Ulrik Sverdrup
6cb061721c trpl: Fix typo in Raw Pointers chapter 2015-05-31 22:35:59 +02:00
bors
845cee4e20 Auto merge of #25908 - bluss:arc-mark-unsafe, r=sfackler
Mark Arc function get_mut and method make_unique unsafe

This is a temporary mitigation for issue #24880 which points out that
these functions are racy in a particular situation where weak pointers
exist.

To mitigate this, mark the functions unsafe until this can be fixed or
another decision is made.
2015-05-31 20:07:49 +00:00
Mathieu David
151c3d3644 Corrected some formatting issues 2015-05-31 20:56:35 +02:00
Guillaume Gomez
9eb416b8a4 Add E0011 explanation 2015-05-31 19:34:03 +02:00
Steve Gury
bef936111d Update iterators.md
Fix the actual off by one
2015-05-31 10:24:30 -07:00
Steve Gury
4425422bdd Fix off by one in the iterator documentation
`(1..100).map(|x| x + 1)` is actually mapping [1,100) to [2,101)
2015-05-31 07:32:21 -07:00
Mathieu David
6e2f18ef32 Add loopcounter section to the for-loop chapter
Sometimes loop counters are useful and we should show new users how it is achieved in Rust.
2015-05-31 14:03:57 +02:00
FuGangqiang
bdef7faaba trpl:add missing comma 2015-05-31 18:16:58 +08:00
Tshepang Lekhonkhobe
89ee223c9c doc: fix displayed message 2015-05-31 10:49:22 +02:00
Tshepang Lekhonkhobe
eb3566f239 doc: improve map_or and map_or_else 2015-05-31 10:16:49 +02:00
Eduard Burtescu
4a4315bf4b Inline hash_table::calculate_offsets, used by iterators.
The `HashMap` and `HashSet` iterators use `RawTable::first_bucket_raw` which is generic and will get inlined cross-crate.
However, `first_bucket_raw` calls `calculate_offsets` and the call doesn't get inlined, despite being a simple function.
This missing `#[inline]` results in `hash_table::calculate_offsets` showing up at the top of a callgrind profile with 3 million calls (for the testcase in #25916).
2015-05-31 11:03:46 +03:00
olombard
61207046de TRPL: Fix a broken link to 'borrowing' 2015-05-30 23:43:23 +02:00
bors
78c4d53871 Auto merge of #25882 - steveklabnik:gh25554, r=alexcrichton
Fixes #25554
2015-05-30 21:10:07 +00:00
Ulrik Sverdrup
32211e1d27 Mark Arc function get_mut and method make_unique unsafe
This is a temporary mitigation for issue #24880 which points out that
these functions are racy in a particular situation where weak pointers
exist.

To mitigate this, mark the functions unsafe until this can be fixed or
another decision is made.

This is a breaking change to unstable API, because the new version
requires an `unsafe` block. Review carefully if weak pointers may race
for any uses of this API and consider abandoning it.

[breaking-change]
2015-05-30 22:15:40 +02:00
Tshepang Lekhonkhobe
aabff227d2 doc: be more clear/explicit that we got String type 2015-05-30 21:21:56 +02:00
Michael Woerister
d136714e04 debuginfo: Create common debugger pretty printer module.
GDB and LLDB pretty printers have some common functionality
and also access some common information, such as the layout of
standard library types. So far, this information has been
duplicated in the two pretty printing python modules. This
commit introduces a common module used by both debuggers.
2015-05-30 20:06:08 +02:00
petrochenkov
8c86f8ff8c Warn if the test suite is run on Windows in console with non-UTF-8 code page 2015-05-30 19:22:12 +03:00
benaryorg
2029799d17
fix documentation in libserialize
the object was serialized with an 'i' but the comment stated the print command
would output 'j'
2015-05-30 17:41:09 +02:00
Lorenz
babb2684d8 Extend rust reference with a section about type coercions 2015-05-30 14:26:50 +02:00
Lorenz
a2b61e16b1 Extend rust reference with a section about subtyping 2015-05-30 14:25:58 +02:00
Mikhail Zabaluev
0ad019f4e8 std::io: bump the stability tag on ErrorKind::InvalidData to 1.2.0 2015-05-30 15:09:13 +03:00
petrochenkov
019ab5dfec Deprecate UnsafeCell::value 2015-05-30 12:15:19 +03:00
bors
474c6e0ae4 Auto merge of #25818 - sfackler:socket-timeouts, r=alexcrichton
Closes #25619 

r? @alexcrichton
2015-05-30 04:20:20 +00:00
Steven Fackler
b5c6c7ed40 Loosen timeout restrictions 2015-05-29 19:09:29 -07:00
bors
a0f028da07 Auto merge of #25817 - XMPPwocky:once_cleanedup, r=alexcrichton
Closes #24443.
2015-05-30 01:12:35 +00:00
bors
b77d60adb0 Auto merge of #25888 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #25788, #25861, #25864, #25865, #25866, #25873, #25876, #25883, #25886
- Failed merges:
2015-05-29 21:00:26 +00:00
Steve Klabnik
ed19a6e034 Rollup merge of #25886 - nhowell:patch-1, r=steveklabnik
r? @steveklabnik
2015-05-29 15:24:47 -04:00
Steve Klabnik
253fb5bd8b Rollup merge of #25883 - steveklabnik:gh25417, r=alexcrichton
Fixes #25417
2015-05-29 15:24:47 -04:00
Steve Klabnik
697834f485 Rollup merge of #25876 - tshepang:patch-3, r=steveklabnik 2015-05-29 15:24:47 -04:00
Steve Klabnik
c0a41b9999 Rollup merge of #25873 - nham:update_E0015, r=Aatch
The E0397 explanation, as I've written it, isn't really an explanation, but I'm not sure what to put here. I will happily take suggestions.

Partially addresses https://github.com/rust-lang/rust/issues/25851
2015-05-29 15:24:47 -04:00
Steve Klabnik
c2a5d31f30 Rollup merge of #25866 - jooert:update_guidelines, r=steveklabnik
So that rust-guidelines can be deleted and src/doc/style can prosper as the official home of the rust guidelines. 😃
2015-05-29 15:24:47 -04:00
Steve Klabnik
c7b1f37c59 Rollup merge of #25865 - azerupi:patch-2, r=alexcrichton
"workd" corrected to "world"
2015-05-29 15:24:46 -04:00
Steve Klabnik
5d2af1c724 Rollup merge of #25864 - azerupi:patch-1, r=alexcrichton
There was no opening parenthesis for this closing parenthesis...
2015-05-29 15:24:46 -04:00
Steve Klabnik
1999d759f7 Rollup merge of #25861 - tringenbach:master, r=steveklabnik
This adds an example from mem::swap, and provides some suggested uses of this
function.

This is my attempt to summarize the answers to a question I asked on reddit http://www.reddit.com/r/rust/comments/37jcul/what_is_forget_for/ and add the answers to the documentation so that no one else has to google or ask the question again.
2015-05-29 15:24:46 -04:00
Steve Klabnik
e9e2a11a6a Rollup merge of #25788 - maxjacobson:add-missing-space-to-glossary, r=steveklabnik
r? @steveklabnik
2015-05-29 15:24:46 -04:00
bors
996fb8d001 Auto merge of #25494 - alexcrichton:stdio-from-raw, r=aturon
This commit implements a number of standard traits for the standard library's
process I/O handles. The `FromRaw{Fd,Handle}` traits are now implemented for the
`Stdio` type and the `AsRaw{Fd,Handle}` traits are now implemented for the
`Child{Stdout,Stdin,Stderr}` types.

The stability markers for these implementations mention that they are stable for
1.1 as I will nominate this commit for cherry-picking to beta.
2015-05-29 19:24:40 +00:00
Mikhail Zabaluev
1d67cef6d2 std::io: New ErrorKind value InvalidData
This takes the cases from InvalidInput where a data format error
was encountered. This is different from the documented semantics
of InvalidInput, which more likely indicate a programming error.
2015-05-29 22:23:46 +03:00
Nathaniel Theis
103e79d26a Implement RFC 771: std::iter::once 2015-05-29 12:02:13 -07:00
Tim Ringenbach
8746b1ac6f Improve mem::forget documentation
This adds an example from mem::swap, and provides some suggested uses of this
function.

Change wording on comment on forget line to be more specific as to why we
need to call forget.

This breaks the examples up into three pieces. The last piece isn't
compiling for some reason.
2015-05-29 13:29:42 -05:00
Nick Howell
81a413bb01 trpl: eight sections, not seven 2015-05-29 14:29:35 -04:00