Commit Graph

44171 Commits

Author SHA1 Message Date
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
Alex Crichton
4d3cffa3cf std: Fix unsoundness of std:🧵:ScopedKey
Currently the compiler has no knowledge of `#[thread_local]` which forces users
to take on two burdens of unsafety:

* The lifetime of the borrow of a `#[thread_local]` static is **not** `'static`
* Types in `static`s are required to be `Sync`

The thread-local modules mostly curb these facets of unsafety by only allowing
very limited scopes of borrows as well as allowing all types to be stored in a
thread-local key (regardless of whether they are `Sync`) through an `unsafe
impl`.

Unfortunately these measures have the consequence of being able to take the
address of the key itself and send it to another thread, allowing the same key
to be accessed from two different threads. This is clearly unsafe, and this
commit fixes this problem with the same trick used by `LocalKey`, which is to
have an indirect function call to find the address of the *current thread's*
thread local. This way the address of thread local keys can safely be sent among
threads as their lifetime truly is `'static`.

This commit will reduce the performance of cross-crate scoped thread locals as
it now requires an indirect function call, but this can likely be overcome in a
future commit.

Closes #25894
2015-06-01 14:56:49 -07:00
Matt Brubeck
7d95c22244 Stop passing the old ndebug/debug cfg directives
As of rust-lang/rust#22980 only `cfg(debug_assertions)` is used in the
standard library and rustc code.
2015-06-01 14:01:13 -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
bors
60926b8c59 Auto merge of #25927 - stevegury:patch-1, r=steveklabnik
`(1..100).map(|x| x + 1)` is actually mapping [1,100) to [2,101)
2015-05-31 17:39:26 +00: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
bors
243e85f393 Auto merge of #25921 - eddyb:inline-calculate-offsets, r=Aatch
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 09:53:49 +00: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
bors
93991f7555 Auto merge of #25914 - andars:master, r=sanxiyn
Previous:
```
    --disable-llvm-version-check     don't don't check if the LLVM version is supported, build anyway
```

New:
```
    --disable-llvm-version-check     don't check if the LLVM version is supported, build anyway
```
2015-05-31 07:29:25 +00:00
Andrew Foote
d4389c52ab remove duplicate "don't" 2015-05-30 18:13:51 -07: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
frankamp
ee4b58c792 Fixes consistency in before/after example
The doc indicates that you can replace 'before' with 'after' showing the use of try!. The two examples should be equivalent, but they are not.

In the File::create we were inducing a panic before in case of error, not propagating. It is important for newbies (like myself) to understand that try! propagates failures, while unwrap can induce a panic.

The other alternative is to make the 'before' File::create also manually handle Err like the other calls. Either way it would be consistent.
2015-05-30 13:31:46 -07: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
bors
ee1ba33c4c Auto merge of #25904 - benaryorg:master, r=steveklabnik
perhaps the smallest and least useful fix in the whole history of rust

I will not blame you if you do not want to merge it
2015-05-30 17:09:53 +00: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