Commit Graph

31699 Commits

Author SHA1 Message Date
Jauhien Piatlicki
70ea0bb5f5 Fix LLVM version in configure
Upstream LLVM from VCS already has version 3.6,
configure fixed appropriately to allow building with it
2014-08-22 00:39:18 +02:00
bors
c509f79f05 auto merge of #16601 : cybergeek94/rust/master, r=alexcrichton
Previously, `PrettyEncoder` indented a magic constant of 2 spaces per level, which may be fine for most uses but in my use case I would like to allow the user to specify the indent step for the outputted JSON in my program.

This is small change that does not break any existing code whatsoever, and does not change the behavior of existing uses. `PrettyEncoder::new()` still uses the default of 2.

I couldn't think of any simple tests for this change. The obvious one would be to check the outputted JSON for the correct number of spaces per indent level, but I think that would be more complex than the actual change itself and test little besides correctness and consistency, which can be verified visually. There's already a test for correct parsing of pretty-printed JSON that should still pass with this change.
2014-08-21 19:40:57 +00:00
Austin Bonander
1028120c40 Parameterize indent in PrettyEncoder 2014-08-21 11:04:03 -07:00
bors
f92015f71b auto merge of #16499 : cmr/rust/struct-undef-repr, r=pcwalton
r? @pcwalton
2014-08-21 17:30:57 +00:00
Corey Richardson
01d2efaffe Fix FFI guide 2014-08-21 12:58:42 -04:00
bors
4444aec142 auto merge of #16632 : pcwalton/rust/unboxed-closures-euv, r=luqmana
expression use visitor.

Closes #16166.

r? @huonw
2014-08-21 14:40:57 +00:00
bors
6f1b1a65ef auto merge of #16631 : pcwalton/rust/unboxed-closures-wrong-trait, r=huonw
the right trait and take the method name into account.

Closes #16599.

r? @huonw
2014-08-21 12:55:54 +00:00
bors
6de570f817 auto merge of #16487 : steveklabnik/rust/guide_ownership, r=brson
Whew. This section was so important, I saved it for last.

/cc @wycats, @nikomatsakis
2014-08-21 09:55:54 +00:00
bors
5305f9b894 auto merge of #16362 : nham/rust/std_rand_pi_example, r=huonw
Pros:
I like this example because it's concise without being trivial. The Monty Hall example code is somewhat lengthy and possibly inaccessible to those unfamiliar with probability.

Cons:
The Monty Hall example already exists. Do we need another example? Also, this is probably inaccessible to people who don't know basic geometry.
2014-08-21 07:50:55 +00:00
nham
86587224d0 Use unicode pi symbol in pi estimation example. Additional tweaks 2014-08-21 02:42:15 -04:00
nham
348132196a Surround formula in a 'notrust' code block 2014-08-21 02:08:17 -04:00
bors
20b3313c8c auto merge of #16471 : EduardoBautista/rust/chapter-14-fixes, r=steveklabnik
Just some small fixes for the guide.  The cargo stuff is probably because of an update.
2014-08-21 06:05:58 +00:00
bors
e052aa65db auto merge of #16447 : steveklabnik/rust/guide_vectors_extra, r=brson
Can't believe I forgot this!
2014-08-21 04:20:57 +00:00
bors
6063f7981f auto merge of #16443 : steveklabnik/rust/fix_path_docs, r=kballard
Originally discovered here: http://www.reddit.com/r/rust/comments/2dbg3j/hm_unwrap_is_being_renamed_to_assert/cjnxiax
2014-08-21 02:36:00 +00:00
Corey Richardson
21bd17fcc1 Stage #[repr(packed)] in std::rt 2014-08-20 21:02:24 -04:00
Corey Richardson
cf5d28083d libgreen: use FFI-safe types 2014-08-20 21:02:24 -04:00
Corey Richardson
2dc2ac1e6b liblibc: don't use int/uint for intptr_t/uintptr_t
int/uint aren't considered FFI safe, replace them with the actual type they
represent (i64/u64 or i32/u32). This is a breaking change, but at most a cast
to `uint` or `int` needs to be added.

[breaking-change]
2014-08-20 21:02:24 -04:00
Corey Richardson
0cffa32c21 Add detailed note about Substs to ty_enum 2014-08-20 21:02:24 -04:00
Corey Richardson
c630d96166 manual: fix link 2014-08-20 21:02:23 -04:00
Corey Richardson
bc19a77631 Add #[repr(C)] to all the things! 2014-08-20 21:02:23 -04:00
Corey Richardson
6e8ff99958 librustc: handle repr on structs, require it for ffi, unify with packed
As of RFC 18, struct layout is undefined. Opting into a C-compatible struct
layout is now down with #[repr(C)]. For consistency, specifying a packed
layout is now also down with #[repr(packed)]. Both can be specified.

To fix errors caused by this, just add #[repr(C)] to the structs, and change
 #[packed] to #[repr(packed)]

Closes #14309

[breaking-change]
2014-08-20 21:02:23 -04:00
bors
4dfdc697e9 auto merge of #16331 : steveklabnik/rust/guide_macros_and_unsafe, r=brson
The last two sections of the guide, and a small conclusion. I suck at conclusions.

I also realized I never covered strings, so I'm going to put that section up before we're actually 'done.'
2014-08-21 00:51:00 +00:00
Corey Richardson
54bd9e6323 docs: don't claim struct layout is specified, but mention repr 2014-08-20 19:11:25 -04:00
bors
33037fd23b auto merge of #16280 : cburgdorf/rust/patch-3, r=steveklabnik 2014-08-20 23:06:02 +00:00
Steve Klabnik
139516685b Guide: unsafe 2014-08-20 18:41:24 -04:00
Steve Klabnik
e918733e5f Fix error message for WindowsPath::new
Originally discovered here: http://www.reddit.com/r/rust/comments/2dbg3j/hm_unwrap_is_being_renamed_to_assert/cjnxiax
2014-08-20 18:35:38 -04:00
Christoph Burgdorf
1f16437d47 fixes some syntax highlighting annotations 2014-08-20 23:23:07 +02:00
Patrick Walton
24b089721f librustc: Fix bogus logic for static calls to unboxed closures in the
expression use visitor.

Closes #16166.
2014-08-20 13:16:12 -07:00
Steve Klabnik
1681f43b91 Guide: macros 2014-08-20 14:42:27 -04:00
bors
43f040dac8 auto merge of #16408 : steveklabnik/rust/guide_iterators, r=brson
An introduction to iterators. I kinda like this, but I kinda don't. Hmmm.
2014-08-20 18:15:53 +00:00
Patrick Walton
b0931a0a0f librustc: When checking static method calls to unboxed closures, look at
the right trait and take the method name into account.

Closes #16599.
2014-08-20 10:38:06 -07:00
bors
e11cb5bba7 auto merge of #16257 : steveklabnik/rust/guide_patterns, r=brson
Fixes #4417.
2014-08-20 16:25:53 +00:00
bors
655600b01b auto merge of #16621 : tshepang/rust/grammar, r=steveklabnik 2014-08-20 13:55:52 +00:00
bors
cb5967e002 auto merge of #16620 : tshepang/rust/tasks, r=steveklabnik 2014-08-20 12:10:58 +00:00
bors
b22e840d43 auto merge of #16618 : nham/rust/strslice_examples, r=alexcrichton
(By chance, the `contains` example was actually what I was trying to write when I discovered #16589)
2014-08-20 10:25:54 +00:00
bors
05df25f13e auto merge of #16615 : pcwalton/rust/unboxed-closures-prelude, r=huonw
Closes #16600.

r? @huonw
2014-08-20 08:00:56 +00:00
bors
b8e9bbf793 auto merge of #16614 : cdwort/rust/pointer-guide-typo, r=steveklabnik
This appears to be a minor typo. This example implies that x is mutable otherwise the compiler would error on the line before the comment implies.

Please let me know if I'm missing something - I'd love to learn what I got wrong!
2014-08-20 06:15:58 +00:00
bors
4be4ea7bb0 auto merge of #16606 : pczarn/rust/inline-asm, r=alexcrichton
It's unfortunate that the read+write operands need special treatment in the AST. A separate vec for all expressions is an alternative, but it doesn't play nicely with trans.

Fixes #14936
2014-08-20 03:25:58 +00:00
bors
4a0272da67 auto merge of #16603 : SiegeLord/rust/nullable, r=alexcrichton
A few reasons:

* `Nullable` is basically unused, save for one argument in the `glob` function in `liblibc`, so this change likely impacts nobody negatively. The constructors are never used, and I don't foresee people using them. The people implementing the glob functionality don't seem to be reaching for this POSIX `glob` function, so it seems unlikely to be used heavily.
* At the same time, the old name, `Some`, needlessly conflicted with the same re-exported name in the prelude, which impacted everybody who use glob imports with `libc`. Changing it to something else would simplify things greatly for those people.
* `NotNull` seemed like the best option (others included `Just`, `Valid`, etc. which all had somewhat different connotations than what this type was going for (even `Some` doesn't quite seem like the opposite of `Null`)). Other options included removing the type completely and adding a special, `glob`-specific type. This latter approach doesn't seem future-proof.

Overall, I feel like this is a mildly positive change.
2014-08-20 01:40:58 +00:00
bors
a6758e344b auto merge of #16584 : luqmana/rust/psfo, r=alexcrichton
Fixes #16574.
2014-08-19 23:56:02 +00:00
Tshepang Lekhonkhobe
17c630a8dd doc: small tasks guide improvements 2014-08-20 01:34:41 +02:00
Tshepang Lekhonkhobe
1f1620eed7 doc: grammar fixes 2014-08-20 01:31:07 +02:00
nham
0821119edd Add examples for some StrSlice methods. 2014-08-19 18:51:58 -04:00
bors
0600a3befa auto merge of #16201 : erickt/rust/json-ints, r=acrichto
This patch allows json to deserialize integers larger than 2^53 without losing precision. It does this by first keeping the integer portion of a number as a `i64`, and only casting it over to a `f64` if we have a decimal or exponent.
2014-08-19 22:10:55 +00:00
Patrick Walton
e0a165ca13 libstd: Add Fn/FnMut/FnOnce to the prelude.
Closes #16600.
2014-08-19 13:57:10 -07:00
Amy Unger
0493fb2cfc Make variable mutable to allow mutable reference 2014-08-19 15:41:12 -05:00
Erick Tryzelaar
9b23287974 Don't fail if an object is keyed with a string and we're expecting a number 2014-08-19 13:35:41 -07:00
Erick Tryzelaar
e95552c5e6 serialize: add json bounds checks, support for u64s, and tests 2014-08-19 13:35:41 -07:00
Luqman Aden
7382554496 Add fix for test on windows. 2014-08-19 13:32:41 -07:00
bors
51b901e160 auto merge of #16241 : P1start/rust/doc-fixes, r=alexcrichton
For crates `alloc`–`collections`. This is mostly just updating a few function/method descriptions to use the indicative style. 

cc #4361; I’ve sort of assumed that the third-person indicative style has been decided on, but I could update this to use the imperative style if that’s preferred, or even update this to remove all function-style-related changes. (I think that standardising on one thing, even if it’s not the ‘best’ option, is still better than having no standard at all.) The indicative style seems to be more common in the Rust standard library at the moment, especially in the newer modules (e.g. `collections::vec`), more popular in the discussion about it, and also more popular amongst other languages (see https://github.com/rust-lang/rust/issues/4361#issuecomment-33470215).
2014-08-19 20:25:49 +00:00