Commit Graph

39235 Commits

Author SHA1 Message Date
Manish Goregaokar
ab51363da5 Rollup merge of #22232 - alexcrichton:missing-fmt-stability, r=aturon
The `Arguments::new_v1_formatted` function was accidentally left out when this
module was stabilized.
2015-02-17 15:41:30 +05:30
Manish Goregaokar
e4e4afa92d Rollup merge of #22111 - robinst:option-docs-flatmap, r=steveklabnik
Some newcomers might look for a "flatMap" method on Option. Include the
reference so that searching the page would find "and_then".
2015-02-17 15:41:30 +05:30
Manish Goregaokar
2d94c4482d Rollup merge of #22027 - iblech:patch-1, r=steveklabnik
The first commit adds a short note which I believe will reduce worries in people who work with closures very often and read the Rust book for their first time.

The second commit consists solely of tiny typo fixes. In some cases, I changed "logical" quotations like

    She said, "I like programming".

to

    She said, "I like programming."

because the latter seems to be the prevalent style in the book.
2015-02-17 15:41:30 +05:30
Manish Goregaokar
522091e55d Rollup merge of #21990 - steveklabnik:doc_core_cmp, r=huonw
Fix up, add examples, make them all the same.
2015-02-17 15:41:30 +05:30
Björn Steinbrink
0fe880bdb7 Use the right array type in trans_slice_vec
In trans_slice_vec we currently use arrayalloca, which gives us a
pointer to the element type with enough memory allocated for the
requested number of elements.  This works, but everywhere else we use
the [n x T] type for fixed size arrays and so we have to bitcast the
pointer here. Let's directly use the proper type for the allocation and
remove some code duplication along the way.
2015-02-17 10:43:27 +01:00
Björn Steinbrink
378abdbde7 Simplify the codegen in iter_vec_loop
No need to create a bunch of blocks and a stack allocated temporary just
to build a simple loop.
2015-02-17 10:40:46 +01:00
bors
f1bb6c2f46 Auto merge of #22397 - Manishearth:rollup, r=huonw
None
2015-02-17 05:57:55 +00:00
Steven Fackler
a1b755862c Make io::Seek docs less prescriptive 2015-02-16 21:03:39 -08:00
bors
22224ca449 Auto merge of #21932 - Jormundir:std-os-errno-type, r=alexcrichton
Changes std::os::errno to return i32, the return type used by the function being delegated to.

This is my first contribution, so feel free to give me advice. I'll be happy to correct things.
2015-02-17 03:42:54 +00:00
Manish Goregaokar
35ee89599c Rollup merge of #22409 - nikomatsakis:stop-advertisting-old-impl-check, r=aturon
Stop advertisting the `old_impl_check` feature. We can't ENTIRELY remove it yet, but we don't have to add new uses.

r? @aturon
2015-02-17 06:25:55 +05:30
Manish Goregaokar
a555fbd88c Rollup merge of #22416 - GuillaumeGomez:copy, r=eddyb 2015-02-17 06:25:34 +05:30
Manish Goregaokar
8c639d3c6e Rollup merge of #22420 - posixphreak:fix-rustup-locale, r=brson
Since `tr` converts lowercase to uppercase according to system locale using `LC_CTYPE` environment variable; on some locales, rustup.sh fails to use correct variables names, thus deletes temporarily downloaded files and gives a meaningless error as shown below. This a simple fix which explictly sets `LC_CTYPE` as `C`.

Here is what happens without the fix:
```
➜  projects  curl -s https://static.rust-lang.org/rustup.sh | sudo sh
rustup: CFG_CURL             := /usr/bin/curl (7.22.0)
rustup: CFG_TAR              := /bin/tar (1.26)
rustup: CFG_FILE             := /usr/bin/file (5.09)
rustup: CFG_SHA256SUM        := /usr/bin/sha256sum (256sum)
rustup: CFG_SHASUM           := /usr/bin/shasum (5.61)
rustup:
rustup: processing sh args
rustup:
rustup: CFG_PREFiX           :=
rustup: CFG_DATE             :=
rustup:
rustup: validating sh args
rustup:
rustup: host triple: i686-unknown-linux-gnu
rustup: Downloading https://static.rust-lang.org/dist/rust-nightly-i686-unknown-linux-gnu.tar.gz to /tmp/tmp.Wz6F1ToG5z/rust-nightly-i686-unknown-linux-gnu.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  132M  100  132M    0     0  59947      0  0:38:31  0:38:31 --:--:-- 71204
rustup: Downloading https://static.rust-lang.org/dist/rust-nightly-i686-unknown-linux-gnu.tar.gz.sha256
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   109  100   109    0     0    107      0  0:00:01  0:00:01 --:--:--   169
rustup: Verifying hash
rustup: Extracting /tmp/tmp.Wz6F1ToG5z/rust-nightly-i686-unknown-linux-gnu.tar.gz
install: looking for install programs
install:
install: found mkdir
install: found printf
install: found cut
install: found grep
install: found uname
install: found tr
install: found sed
install: found chmod
install:
install: processing /tmp/tmp.Wz6F1ToG5z/rust-nightly-i686-unknown-linux-gnu/install.sh args
install:
install: CFG_DESTDiR          :=
install: CFG_PREFiX           := /usr/local
install: CFG_LiBDiR           := /lib
install: CFG_MANDiR           := /share/man
install:
install: validating /tmp/tmp.Wz6F1ToG5z/rust-nightly-i686-unknown-linux-gnu/install.sh args
install:
install: verifying platform can run binaries
install: verifying destination is writable
mkdir: cannot create directory `': No such file or directory
install: error: can't write to destination. consider `sudo`.
rustup: error: failed to install Rust
```
Notice how `i` wasn't replaced with `I`.

Rust is installed as usual after the fix. Tested on Ubuntu x86 12.04 LTS.
I'm not exactly sure if setting LC_CTYPE is the best solution, but there's that.
2015-02-17 06:25:21 +05:30
Manish Goregaokar
bc48107a85 Rollup merge of #22418 - japaric:diagnostics, r=nikomatsakis
closes #22388

r? @nikomatsakis
cc @insaneinside
2015-02-17 06:25:03 +05:30
Manish Goregaokar
23306de287 Rollup merge of #22411 - aturon:fix-os-deprecation, r=alexcrichton
They now point to the correct locations in std::env

r? @alexcrichton
2015-02-17 06:24:51 +05:30
Manish Goregaokar
a97ffa24d5 Rollup merge of #22413 - steveklabnik:gh22386, r=alexcrichton
Fixes #22386
2015-02-17 06:24:34 +05:30
Manish Goregaokar
b491b16b86 Rollup merge of #22394 - alexcrichton:vec-from-iter-comment, r=brson
Requested by Niko in #22200 (and is good to have anyway)
2015-02-17 06:23:42 +05:30
Manish Goregaokar
901d2c7b0d Rollup merge of #22241 - kmcallister:macro-plugin-cleanup, r=sfackler 2015-02-17 06:23:41 +05:30
Alex Crichton
a35824b149 std: Add Vec::from_iter comment
Requested by Niko in #22200 (and is good to have anyway)
2015-02-17 06:23:41 +05:30
Manish Goregaokar
02fb58af05 Rollup merge of #22225 - vhbit:darwin-types, r=alexcrichton
"body": null,
2015-02-17 06:23:41 +05:30
Manish Goregaokar
a03ce81f92 Rollup merge of #22273 - nagisa:doc-deprecated, r=alexcrichton
Since we don’t have Deprecated stability level anymore, the only other source of information is
deprecated-since version, which conveniently to us, only exists if the symbol is deprecated.

Fixes #21789
2015-02-17 06:23:40 +05:30
Manish Goregaokar
d264ef2b11 Rollup merge of #22313 - japaric:iter, r=aturon
`IntoIterator` now has an extra associated item:

``` rust
trait IntoIterator {
    type Item;
    type IntoIter: Iterator<Self=Self::Item>;
}
```

This lets you bind the iterator \"`Item`\" directly when writing generic functions:

``` rust
// hypothetical change, not included in this PR
impl Extend<T> for Vec<T> {
    // you can now write
    fn extend<I>(&mut self, it: I) where I: IntoIterator<Item=T> { .. }
    // instead of
    fn extend<I: IntoIterator>(&mut self, it: I) where I::IntoIter: Iterator<Item=T> { .. }
}
```

The downside is that now you have to write an extra associated type in your `IntoIterator` implementations:

``` diff
 impl<T> IntoIterator for Vec<T> {
+    type Item = T;
     type IntoIter = IntoIter<T>;

     fn into_iter(self) -> IntoIter<T> { .. }
 }
```

Because this breaks all downstream implementations of `IntoIterator`, this is a [breaking-change]

---

r? @aturon
2015-02-17 06:23:40 +05:30
Manish Goregaokar
e337a5728a Rollup merge of #22326 - semarie:compat-cp, r=alexcrichton
`cp -a` is a GNU extension. Use an alternate combinaison of POSIX options
(`-PRp`) that do nearly the same.

The difference is `-a` will preserve context, links and xattr attributes,
whereas `-p` not. But as we use it only for copy a file, there is no
difference in the current context.
2015-02-17 06:23:40 +05:30
Manish Goregaokar
8a6b724009 Rollup merge of #22344 - nagisa:exactsizediter, r=alexcrichton
Appears to be just an oversight given it is the only method in a stable trait.

r? @aturon because you did final alpha stabilisation of iterators.
2015-02-17 06:23:39 +05:30
Manish Goregaokar
47803212e8 Rollup merge of #22392 - laijs:fix-reference-md-plugin-link, r=steveklabnik
book/syntax-extensions.html was renamed to book/plugins.html,
the link should be also updated.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
2015-02-17 06:23:39 +05:30
Manish Goregaokar
adea99c5d9 Rollup merge of #22378 - jxcl:master, r=steveklabnik
The Rust Programming Language book has no explanation of what `i32` actually means. I have added an explanation for the first time the reader encounters this type.
2015-02-17 06:23:39 +05:30
Manish Goregaokar
47814a4b29 Rollup merge of #22377 - thiagooak:book-glossary, r=steveklabnik
@steveklabnik Trying out the Glossary idea.

Added the paragraph about 'complicated words' because I think it would be useful to those contributing to the book. Maybe this should not be here
2015-02-17 06:23:38 +05:30
Manish Goregaokar
96a4756c21 Rollup merge of #22374 - richo:warn-fixup, r=huonw
This snuck through my refactor.

Would it be worth the effort to have a test pass that attempts to lint the code for all targets, even if it's not feasible to actually build and test it?
2015-02-17 06:23:38 +05:30
Manish Goregaokar
bc0d5456eb Rollup merge of #22373 - bombless:fix-rustbook, r=steveklabnik 2015-02-17 06:23:38 +05:30
Manish Goregaokar
68472441e7 Rollup merge of #22369 - nagisa:docblock-table, r=steveklabnik
Fixes #22357

Before and after:

![screenshot from 2015-02-15 15 53 24](https://cloud.githubusercontent.com/assets/679122/6203452/dbde7324-b52b-11e4-8252-da96a44c1cf3.png)
2015-02-17 06:23:38 +05:30
Manish Goregaokar
fe3b6a1662 Rollup merge of #22368 - thiagooak:book-arity, r=steveklabnik
#21568
2015-02-17 06:23:37 +05:30
Manish Goregaokar
f28d89f6fb Rollup merge of #22366 - dotdash:ret_adjust, r=alexcrichton
Without the adjustments the retslot might have the wrong type, e.g. when
the return value is implicitly coerced to a trait object.

Fixes #22346
2015-02-17 06:23:37 +05:30
Manish Goregaokar
e0477fa7f9 Rollup merge of #22365 - serejkus:configs-link, r=steveklabnik
The book in "hello-world" tells that there are configs for some programs and gives a link to main repo's src/etc. Actually, these configs moved to separate repos some days ago. This PR adds a markdown file with links and moves "hello-world" link about editors to point directly to this new file.
2015-02-17 06:23:37 +05:30
Manish Goregaokar
3e7af91851 Rollup merge of #22363 - semarie:openbsd-test_file_desc, r=alexcrichton
`pipe(2)`, under FreeBSD and OpenBSD return a bidirectionnal pipe. So
reading from the writer would block (waiting data) instead of returning
an error.

like for FreeBSD, disable the test for OpenBSD.
2015-02-17 06:23:36 +05:30
Manish Goregaokar
cdf0cb0a16 Rollup merge of #22360 - wg:master, r=alexcrichton 2015-02-17 06:23:36 +05:30
Manish Goregaokar
1c8e592bb7 Rollup merge of #22353 - tshepang:improve-fs-create-docs, r=alexcrichton 2015-02-17 06:23:36 +05:30
Manish Goregaokar
6cab5bba75 Rollup merge of #22341 - fhahn:issue-22291-PLEASE-FAIL, r=alexcrichton
This is a patch for #22291.

PLEASE_BENCH=1 adds --bench to the arguments passed to the executable to be tested. At the moment, compiletest does not accept a --bench argument, because it is not needed for any test in src/test/, even the tests in src/test/bench do not use #[bench].

I have updated the makefile to only add the --bench flag for crate tests. I do not think that changing compiletest add --bench to the run arguments of all compile tests makes sense, because it would mess up tests which check command line arguments. Also the bench option can be added as comment in a compile test as well.
2015-02-17 06:23:36 +05:30
Manish Goregaokar
b0d2c6a714 Rollup merge of #22294 - nikomatsakis:integer-audit, r=huonw
cc https://github.com/rust-lang/rust/issues/22240
2015-02-17 06:23:35 +05:30
Manish Goregaokar
d660739f9a Rollup merge of #22253 - huonw:unstable-words, r=aturon
It is not totally clear if we should just use whitespace, or if the full
unicode word-breaking algorithm is more correct. If there is demand we
can reconsider this decision (and consider the precise algorithm to use
in detail).

cc #15628.
2015-02-17 06:23:35 +05:30
Aaron Turon
efd2a1780b Deprecate std::sync::TaskPool
Rather than stabilize on the current API, we're going to punt this
concern to crates.io, to allow for faster iteration.

If you need this functionality, you might look at https://github.com/carllerche/syncbox

[breaking-change]
2015-02-16 16:42:06 -08:00
Steve Klabnik
93633c9c5f fix up style guide .gitignore 2015-02-16 17:33:10 -05:00
Steve Klabnik
3f9b0999d1 clean up README 2015-02-16 17:32:12 -05:00
Ingo Blechschmidt
918d097c8e Tiny typo changes (per discussion in pull request #22027) 2015-02-16 23:13:58 +01:00
Steve Klabnik
96bea5eb72 Import rust-guidlines
at 16fa41b3b0

Fixes #19315
2015-02-16 17:04:16 -05:00
Aaron Turon
4a9dd3f840 Expose more of std::path
This commit exposes the `is_sep` function and `MAIN_SEP` constant, as
well as Windows path prefixes. The path prefix enum is safely exposed on
all platforms, but it only yielded as a component for Windows.

Exposing the prefix enum as part of prefix components involved changing
the type from `OsStr` to the `Prefix` enum, which is a:

[breaking-change]
2015-02-16 13:53:09 -08:00
Manish Goregaokar
f64d71b6ed Add custom_attribute and rustc_attrs to reference.md 2015-02-17 02:26:57 +05:30
Manish Goregaokar
1bbf7187ad Fix tests for rustc_* 2015-02-17 02:26:53 +05:30
bors
81bce5290f Auto merge of #22230 - nikomatsakis:object-lifetime-defaults-2, r=pnkfelix
Implement rules described in rust-lang/rfcs#599.

Fixes https://github.com/rust-lang/rust/issues/22211.

~~Based atop PR https://github.com/rust-lang/rust/pull/22182, so the first few commits (up to and including "Pacify the mercilous nrc") have already been reviewed.~~
2015-02-16 20:31:15 +00:00
Manish Goregaokar
0129002d3a Add gating for rustc_* attrs 2015-02-17 01:52:34 +05:30
posixphreak
c24f35389d rustup: Fix for locale bug
Since `tr` converts lowercase to uppercase according to system locale using `LC_CTYPE` environment variable; on some locales, rustup.sh fails to use correct variables names, thus deletes temporarily downloaded files and gives a meaningless error as shown below. This a simple fix which explictly sets `LC_CTYPE` as `C`.
2015-02-16 22:17:15 +02:00
Florian Hahn
6824f1365d Add pfail targets for parse-fail tests 2015-02-16 20:52:39 +01:00