Commit Graph

46698 Commits

Author SHA1 Message Date
DenisKolodin
0f491bee69 Typo fix in use declaration section of reference 2015-09-26 12:16:55 +03:00
bors
7ebfd853c2 Auto merge of #28615 - sfackler:formatter-methods, r=alexcrichton
cc #27726 

r? @alexcrichton
2015-09-26 02:02:03 +00:00
bors
78ce46ffdd Auto merge of #28612 - gandro:targetvendor, r=alexcrichton
This adds a new target property, `target_vendor`. It is to be be used as a matcher for conditional compilation. The vendor is part of the [autoconf target triple](http://llvm.org/docs/doxygen/html/classllvm_1_1Triple.html#details): `<arch><sub>-<vendor>-<os>-<env>`. `arch`, `target_os` and `target_env` are already supported by Rust.

This change was suggested in PR #28593. It enables conditional compilation based on the vendor. This is needed for the rumprun target, which needs to match against both, target_os and target_vendor.

The default value for `target_vendor` is "unknown", "apple" and "pc" are other common values.

Matching against the `target_vendor` is introduced behind the feature gate `#![feature(cfg_target_vendor)]`.

This is the first time I messed around with rustc internals. I just added the my code where I found the existing `target_*` variables, hopefully I haven't missed anything. Please review with care. :)

r? @alexcrichton
2015-09-26 00:14:39 +00:00
bors
69f27c856b Auto merge of #28665 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #28319, #28588, #28637, #28652, #28654, #28655
- Failed merges: #28621
2015-09-25 21:52:52 +00:00
Steve Klabnik
f4dc6c785c Rollup merge of #28655 - alfiedotwtf:patch-2, r=sanxiyn 2015-09-25 13:33:33 -06:00
Steve Klabnik
8b85b57ccb Rollup merge of #28654 - ogham:patch-2, r=sanxiyn
This was discovered by maggyero on #rust.

In the [documentation for the macros in libstd](https://doc.rust-lang.org/stable/std/#macros), the first lines for `print!` and `println!` were exactly the same, with no mention of how one of them also emits a newline:

<img width="622" alt="screen shot 2015-09-25 at 12 11 52" src="https://cloud.githubusercontent.com/assets/503760/10099409/465d509a-6381-11e5-9eb9-766f21a08c50.png">

This commit makes the first lines of those two macros different.
2015-09-25 13:33:32 -06:00
Steve Klabnik
eae4821d1d Rollup merge of #28652 - SimonSapin:patch-11, r=sanxiyn
Caught by Brian Smith: https://github.com/rust-lang/rust/issues/27774#issuecomment-143154735
2015-09-25 13:33:32 -06:00
Steve Klabnik
d2e2ec1661 Rollup merge of #28637 - SimonSapin:patch-6, r=alexcrichton 2015-09-25 13:33:32 -06:00
Steve Klabnik
aed73e0122 Rollup merge of #28588 - critiqjo:trpl-closure, r=steveklabnik
r? @steveklabnik
2015-09-25 13:33:31 -06:00
Steve Klabnik
de2792faa0 Rollup merge of #28319 - Manishearth:mem_docs, r=steveklabnik
https://users.rust-lang.org/t/confused-by-std-mem-drop/2783/3

r? @Gankro
2015-09-25 13:33:31 -06:00
Manish Goregaokar
012f36947a Add note about Copy for drop() 2015-09-26 01:00:05 +05:30
bors
e7a73881e9 Auto merge of #28610 - nrc:fmt6, r=brson 2015-09-25 19:06:02 +00:00
Alfie John
29048c3a80 Keep examples consistent 2015-09-25 12:02:21 +00:00
Ben S
c6e1b12a58 Change the first line of the println macro doc
This makes the first lines of the print! and println! macros
different. Previously, they would show up exactly the same in the
documentation for the macros in libstd [1], with nothing about how
one of them also prints a newline.

[1]: https://doc.rust-lang.org/stable/std/#macros
2015-09-25 12:29:47 +01:00
Simon Sapin
761d16327a Docs: &A and &mut A are references, not pointers
Caught by Brian Smith: https://github.com/rust-lang/rust/issues/27774#issuecomment-143154735
2015-09-25 13:01:31 +02:00
bors
6c2e3fbe90 Auto merge of #28505 - apasel422:issue-28448, r=alexcrichton
Closes #28448.

r? @brson
2015-09-25 02:05:25 +00:00
bors
5ca60d9431 Auto merge of #28608 - eddyb:no-place-for-an-old-box, r=pnkfelix
While this is technically a [breaking-change], there is no excuse for touching `HEAP`.
r? @pnkfelix
2015-09-24 20:42:56 +00:00
bors
6a2187414a Auto merge of #28538 - alevy:make_fixedsizearray_unsafe, r=alexcrichton
[breaking-change]

`FixedSizeArray` is meant to be implemented for arrays of fixed size only, but can be implemented for anything at the moment. Marking the trait unsafe would make it more reasonable to write unsafe code which operates on fixed size arrays of any size.

For example, using `uninitialized` to create a fixed size array and immediately filling it with a fixed value is externally safe:

```
pub fn init_with_nones<T, A: FixedSizeArray<Option<T>>>() -> A {
    let mut res = unsafe { mem::uninitialized() };
    for elm in res.as_mut_slice().iter_mut() {
        *elm = None;
    }
    res
}
```

But the same code is not safe if `FixedSizeArray` is implemented for other types:

```
struct Foo { foo: usize }
impl FixedSizeArray<Option<usize>> for Foo {
    fn as_slice(&self) -> &[usize] { &[] }
    fn as_mut_slice(&self) -> &mut [usize] { &mut [] }
}
```

now `init_with_nones() : Foo` returns a `Foo` with an undefined value for the field `foo`.
2015-09-24 18:55:00 +00:00
critiqjo
09d4deef5b trpl: Refactor returning closures section 2015-09-25 00:17:54 +05:30
Sebastian Wicki
abfedb7d16 Fix target_vendor for Android 2015-09-24 19:44:53 +02:00
bors
e9801294a1 Auto merge of #28634 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #28616, #28617, #28618, #28619, #28620, #28622
- Failed merges: #28621
2015-09-24 17:07:04 +00:00
Simon Sapin
081278eb7a Utf8Error::valid_up_to: make documented semantics more precise/useful 2015-09-24 18:54:12 +02:00
Steve Klabnik
c3ca182082 Rollup merge of #28622 - tshepang:known-as-structs, r=steveklabnik 2015-09-24 10:26:37 -06:00
Steve Klabnik
e314ac601a Rollup merge of #28620 - tshepang:not-filled, r=steveklabnik 2015-09-24 10:26:37 -06:00
Steve Klabnik
c104ba3755 Rollup merge of #28619 - tshepang:fix-link, r=steveklabnik 2015-09-24 10:26:37 -06:00
Steve Klabnik
668ffb1dd8 Rollup merge of #28618 - tshepang:repetition, r=steveklabnik 2015-09-24 10:26:36 -06:00
Steve Klabnik
c16b0f7060 Rollup merge of #28617 - tshepang:optional, r=steveklabnik 2015-09-24 10:26:36 -06:00
Steve Klabnik
6f0a095d05 Rollup merge of #28616 - tshepang:idiom, r=steveklabnik 2015-09-24 10:26:36 -06:00
Eduard Burtescu
f293ea28b4 Remove the deprecated box(PLACE) syntax. 2015-09-24 18:00:08 +03:00
bors
355bbfb895 Auto merge of #28602 - apasel422:clone_from, r=bluss
r? @bluss
2015-09-24 14:19:20 +00:00
Andrew Paseltiner
97f2a32564 Optimize Vec::clone_from
Before:

test dst_bigger::src_100_dst_1000::clone      ... bench:  34 ns/iter (+/- 1)
test dst_bigger::src_100_dst_1000::clone_from ... bench:  75 ns/iter (+/- 3)

test dst_bigger::src_10_dst_100::clone        ... bench:  25 ns/iter (+/- 0)
test dst_bigger::src_10_dst_100::clone_from   ... bench:   9 ns/iter (+/- 1)

test eq::src_1000_dst_1000::clone             ... bench: 105 ns/iter (+/- 2)
test eq::src_1000_dst_1000::clone_from        ... bench: 593 ns/iter (+/- 21)

test eq::src_100_dst_100::clone               ... bench:  34 ns/iter (+/- 1)
test eq::src_100_dst_100::clone_from          ... bench:  75 ns/iter (+/- 1)

test src_bigger::src_1000_dst_100::clone      ... bench: 103 ns/iter (+/- 5)
test src_bigger::src_1000_dst_100::clone_from ... bench: 148 ns/iter (+/- 5)

test src_bigger::src_100_dst_10::clone        ... bench:  34 ns/iter (+/- 1)
test src_bigger::src_100_dst_10::clone_from   ... bench:  20 ns/iter (+/- 0)

After:

test dst_bigger::src_100_dst_1000::clone      ... bench:  34 ns/iter (+/- 2)
test dst_bigger::src_100_dst_1000::clone_from ... bench:  15 ns/iter (+/- 1)

test dst_bigger::src_10_dst_100::clone        ... bench:  26 ns/iter (+/- 1)
test dst_bigger::src_10_dst_100::clone_from   ... bench:   7 ns/iter (+/- 0)

test eq::src_1000_dst_1000::clone             ... bench: 103 ns/iter (+/- 1)
test eq::src_1000_dst_1000::clone_from        ... bench:  85 ns/iter (+/- 4)

test eq::src_100_dst_100::clone               ... bench:  34 ns/iter (+/- 2)
test eq::src_100_dst_100::clone_from          ... bench:  15 ns/iter (+/- 1)

test src_bigger::src_1000_dst_100::clone      ... bench: 103 ns/iter (+/- 4)
test src_bigger::src_1000_dst_100::clone_from ... bench:  90 ns/iter (+/- 2)

test src_bigger::src_100_dst_10::clone        ... bench:  34 ns/iter (+/- 2)
test src_bigger::src_100_dst_10::clone_from   ... bench:  20 ns/iter (+/- 0)

Closes #28601.
2015-09-24 08:47:33 -04:00
Tshepang Lekhonkhobe
0b13ee0ced reference: rename "structure" to the more familiar "struct" 2015-09-24 08:42:39 +02:00
Steven Fackler
e5ee13f139 Add accessors for Formatter flags
cc #27726
2015-09-23 23:35:12 -07:00
Tshepang Lekhonkhobe
f34eafdcf9 reference: follow idiom in code snippet 2015-09-24 08:25:43 +02:00
Tshepang Lekhonkhobe
996bd9d0d6 reference: 3 of the 4 things mentioned here are optional 2015-09-24 08:22:58 +02:00
Tshepang Lekhonkhobe
7077075372 doc: "familiarity" does not need to be repeated here 2015-09-24 08:04:55 +02:00
Tshepang Lekhonkhobe
e0f35da9c1 reference: fix anchor link 2015-09-24 07:55:59 +02:00
Tshepang Lekhonkhobe
5f73037b8a reference: not sure this is the right place to discuss design 2015-09-24 07:50:44 +02:00
bors
8fe79bdfda Auto merge of #28607 - remram44:doc-fix-str-pattern, r=alexcrichton
Reported by Moonlightning on #rust
> 17:13 EDT < Moonlightning> I think I found a bug in the str::matches() documentation. Was it copied from str::split()? :p
> 17:13 EDT < Moonlightning> Because it says “The pattern can be a simple `&str`, `char`, or a closure that determines the split.”

I changed "determines the split" to "determines if a character matches".

It's not super clear, "determines the split" is not super clear to begin with, maybe this can be made better? On the other hand following the link to Pattern provides enough details.
2015-09-24 02:39:02 +00:00
bors
f0666b45dd Auto merge of #28598 - semarie:openbsd-unbreak, r=alexcrichton
separate use code between openbsd/netbsd

netbsd use c_int and c_uint, but openbsd not, resulting a unused_import
error.

r? @alexcrichton 

problem introduced by #28543
2015-09-24 00:02:07 +00:00
Sebastian Wicki
af68cdfea1 rustc: Add target_vendor for target triples
This adds a new target property, `target_vendor` which can be used as a
matcher for conditional compilation. The vendor is part of the autoconf
target triple: <arch><sub>-<vendor>-<os>-<env>

The default value for `target_vendor` is "unknown".

Matching against the `target_vendor` with `#[cfg]` is currently feature
gated as `cfg_target_vendor`.
2015-09-24 01:44:55 +02:00
Nick Cameron
459f7720b9 Better function calls 2015-09-24 11:32:01 +12:00
Nick Cameron
06812c2999 manual fixups 2015-09-24 10:57:28 +12:00
Nick Cameron
8f51c8d687 rustfmt liballoc 2015-09-24 10:00:54 +12:00
bors
4f15e465e5 Auto merge of #28596 - sanxiyn:dedup-unused, r=alexcrichton
Fix #22599.
2015-09-23 21:41:09 +00:00
bors
afae2ff723 Auto merge of #28569 - semarie:stdcpp-tests, r=alexcrichton
extend the search path of libraries to /usr/local/lib in `run-make`
testsuite. It should permit to find libstdc++.so on usual directory.

r? @alexcrichton
2015-09-23 18:55:01 +00:00
Remi Rampin
30fbf44fbc Fix bad copypasta for patterns doc in std::str 2015-09-23 14:35:53 -04:00
bors
edeb4f1c86 Auto merge of #28603 - steveklabnik:small_config_fix, r=alexcrichton
We don't actually probe for javac in all circumstances, so if you have
javac installed, but don't have antlr4 installed, and you're on Mac OS
X, then you'll get a message that javac is missing, even though that's
wrong.

To fix this, let's just be a bit more generic in the message, so that
it's the same no matter what part of the lexer tests you're missing.

cc
https://www.reddit.com/r/rust/comments/3m199d/running_make_check_on_the_source_code_says_javac/
2015-09-23 16:07:04 +00:00
Steve Klabnik
f78115434c Make lexer tooling message more generic
We don't actually probe for javac in all circumstances, so if you have
javac installed, but don't have antlr4 installed, and you're on Mac OS
X, then you'll get a message that javac is missing, even though that's
wrong.

To fix this, let's just be a bit more generic in the message, so that
it's the same no matter what part of the lexer tests you're missing.

cc
https://www.reddit.com/r/rust/comments/3m199d/running_make_check_on_the_source_code_says_javac/
2015-09-23 11:43:49 -04:00
Amit Aryeh Levy
b30d8969e8 Explain in comment why FixedSizeArray is unsafe 2015-09-23 11:38:01 -04:00