Skip to content

Rollup of PRs in the queue #22397

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 65 commits into from
Feb 17, 2015
Merged

Rollup of PRs in the queue #22397

merged 65 commits into from
Feb 17, 2015

Conversation

Manishearth
Copy link
Member

No description provided.

vhbit and others added 30 commits February 12, 2015 18:05
Now they just share a bit of code internal to creader.

Resolves rust-lang#22198 to my satisfaction.
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 rust-lang#15628.
`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.
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 rust-lang#21789
pipe(2), under FreeBSD and OpenBSD return a bidirectionnal pipe. So
reading from the writer would block (waiting data) instead of returning
an error.
Without the adjustments the retslot might have the wrong type, e.g. when
the return value is implicitly coerced to a trait object.

Fixes rust-lang#22346
This snuck through my refactor
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>
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?
…bnik

@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
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.
… 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>
 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.
 `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.
 `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
 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 rust-lang#21789
… r=brson

 Requested by Niko in rust-lang#22200 (and is good to have anyway)
…ichton

 They now point to the correct locations in std::env

r? @alexcrichton
 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.
…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
@Manishearth
Copy link
Member Author

Added a bunch more PRs

@huonw
Copy link
Member

huonw commented Feb 17, 2015

@bors r+ 35ee p=1

@bors
Copy link
Collaborator

bors commented Feb 17, 2015

⌛ Testing commit 35ee895 with merge 55dc6c3...

@bors
Copy link
Collaborator

bors commented Feb 17, 2015

💔 Test failed - auto-win-64-opt

@alexcrichton
Copy link
Member

@bors: retry

@bors
Copy link
Collaborator

bors commented Feb 17, 2015

⌛ Testing commit 35ee895 with merge f1bb6c2...

bors added a commit that referenced this pull request Feb 17, 2015
@bors
Copy link
Collaborator

bors commented Feb 17, 2015

@bors bors merged commit 35ee895 into rust-lang:master Feb 17, 2015
@Centril Centril added the rollup A PR which is a rollup label Oct 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup
Projects
None yet
Development

Successfully merging this pull request may close these issues.