Commit graph

286 commits

Author SHA1 Message Date
Ariel Ben-Yehuda
728d20f7cc improve error message 2016-04-05 20:58:58 +03:00
Ariel Ben-Yehuda
8a461d940c suggest adding a where-clause when that can help
suggest adding a where-clause when there is an unmet trait-bound that
can be satisfied if some type can implement it.
2016-04-05 20:58:58 +03:00
bors
f2285bdaf5 Auto merge of #32549 - respeccing:rust_backtrace_disabled, r=alexcrichton
allow RUST_BACKTRACE=0 to act as if unset

**UPDATE:** `RUST_BACKTRACE=0` to act as if the env. var is unset! (now `0` is what `disabled` was for, below)

When RUST_BACKTRACE is set to "disabled" then this acts as if the env. var is unset. So, either make sure `RUST_BACKTRACE` is not set OR set it to `disabled` to achieve the same effect.

Sample usage:

```bash
$ rustc -o /tmp/a.out -- <(echo 'fn main(){ panic!() }') && RUST_BACKTRACE=disabled /tmp/a.out
!! executing '/home/zazdxscf/build/1nonpkgs/rust/rust//x86_64-unknown-linux-gnu/stage2/bin//rustc' with args: '-o /tmp/a.out -- /dev/fd/63'
thread '<main>' panicked at 'explicit panic', /dev/fd/63:1
note: Run with `RUST_BACKTRACE=1` for a backtrace.

$ rustc -o /tmp/a.out -- <(echo 'fn main(){ panic!() }') && RUST_BACKTRACE=1 /tmp/a.out
!! executing '/home/zazdxscf/build/1nonpkgs/rust/rust//x86_64-unknown-linux-gnu/stage2/bin//rustc' with args: '-o /tmp/a.out -- /dev/fd/63'
thread '<main>' panicked at 'explicit panic', /dev/fd/63:1
stack backtrace:
   1:     0x55709e8148c0 - sys::backtrace::tracing:👿:write::h140f24a0cfc189b98Ru
   2:     0x55709e816a5b - panicking::default_hook::_$u7b$$u7b$closure$u7d$$u7d$::closure.45165
   3:     0x55709e8166e8 - panicking::default_hook::hed419823688cb82aXoA
   4:     0x55709e810fff - sys_common::unwind::begin_unwind_inner::hbb9642f6e212d56fmHt
   5:     0x55709e810513 - sys_common::unwind::begin_unwind::h16232867470678019594
   6:     0x55709e810489 - main::hb524f9576270962feaa
   7:     0x55709e816314 - sys_common::unwind::try::try_fn::h1274188004693518534
   8:     0x55709e813dfb - __rust_try
   9:     0x55709e815dab - rt::lang_start::h712b1cd650781872ahA
  10:     0x55709e810679 - main
  11:     0x7efd1026859f - __libc_start_main
  12:     0x55709e810348 - _start
  13:                0x0 - <unknown>
```

Some programs(eg. [vim's syntactic](https://github.com/scrooloose/syntastic) used by [rust.vim](https://github.com/rust-lang/rust.vim)) cannot unset the env. var RUST_BACKTRACE if it's already set(eg. in .bashrc) but [they can set it to some value](cb5533e159/system/Z575/OSes/gentoo/on_baremetal/filesystem_now/gentoo/home/zazdxscf/build/1nonpkgs/rust.vim/upd (L17)), and I needed to ensure the env. var is unset in order to avoid this issue: https://github.com/rust-lang/rust/issues/29293

**EDIT:** Sample usage 2:

```bash
$ export RUST_BACKTRACE=1

$ rustc -o /tmp/a.out -- <(echo 'fn main(){ panic!() }') && /tmp/a.out
!! executing '/home/zazdxscf/build/1nonpkgs/rust/rust//x86_64-unknown-linux-gnu/stage2/bin//rustc' with args: '-o /tmp/a.out -- /dev/fd/63'
thread '<main>' panicked at 'explicit panic', /dev/fd/63:1
stack backtrace:
   1:     0x55c2696738c0 - sys::backtrace::tracing:👿:write::h140f24a0cfc189b98Ru
   2:     0x55c269675a5b - panicking::default_hook::_$u7b$$u7b$closure$u7d$$u7d$::closure.45165
   3:     0x55c2696756e8 - panicking::default_hook::hed419823688cb82aXoA
   4:     0x55c26966ffff - sys_common::unwind::begin_unwind_inner::hbb9642f6e212d56fmHt
   5:     0x55c26966f513 - sys_common::unwind::begin_unwind::h16023941661074805588
   6:     0x55c26966f489 - main::hb524f9576270962feaa
   7:     0x55c269675314 - sys_common::unwind::try::try_fn::h1274188004693518534
   8:     0x55c269672dfb - __rust_try
   9:     0x55c269674dab - rt::lang_start::h712b1cd650781872ahA
  10:     0x55c26966f679 - main
  11:     0x7f593d58459f - __libc_start_main
  12:     0x55c26966f348 - _start
  13:                0x0 - <unknown>

$ rustc -o /tmp/a.out -- <(echo 'fn main(){ panic!() }') && RUST_BACKTRACE=disabled /tmp/a.out
!! executing '/home/zazdxscf/build/1nonpkgs/rust/rust//x86_64-unknown-linux-gnu/stage2/bin//rustc' with args: '-o /tmp/a.out -- /dev/fd/63'
thread '<main>' panicked at 'explicit panic', /dev/fd/63:1
note: Run with `RUST_BACKTRACE=1` for a backtrace.

```
2016-04-02 01:47:59 -07:00
Manish Goregaokar
d7429f1378 Rollup merge of #32622 - tyoc213:rust-beginners, r=alexcrichton
Book: in beginner guide change irc channel #rust → #rust-beginners

I also would like to add the reference on the first README.md

Some like

```
 most popular channel is [#rust], a venue for general discussion about
-Rust, and a good place to ask for help.
+Rust. And a good place to ask for help would be [#rust-beginners].

 [IRC]: https://en.wikipedia.org/wiki/Internet_Relay_Chat
 [#rust]: irc://irc.mozilla.org/rust
+[#rust-beginners]: irc://irc.mozilla.org/rust-beginners
```

So In the first page would be the two options for #rust or #rust-beginners
2016-04-01 18:44:48 +05:30
Emanuel Czirai
e1d2eda7f3 allow RUST_BACKTRACE=0 to act as if unset
/# This is a combination of 16 commits.
/# The first commit's message is:
allow RUST_BACKTRACE=disabled to act as if unset

When RUST_BACKTRACE is set to "disabled" then this acts as if the env.
var is unset.

/# This is the 2nd commit message:

case insensitive "DiSaBLeD" RUST_BACKTRACE value

previously it expected a lowercase "disabled" to treat the env. var as
unset

/# This is the 3rd commit message:

RUST_BACKTRACE=0 acts as if unset

previously RUST_BACKTRACE=disabled was doing the same thing

/# This is the 4th commit message:

RUST_BACKTRACE=0|n|no|off acts as if unset

previously only RUST_BACKTRACE=0 acted as if RUST_BACKTRACE was unset
Now added more options (case-insensitive): 'n','no' and 'off'
eg. RUST_BACKTRACE=oFF

/# This is the 5th commit message:

DRY on the value of 2

DRY=don't repeat yourself
Because having to remember to keep the two places of '2' in sync is not
ideal, even though this is a simple enough case.

/# This is the 6th commit message:

Revert "DRY on the value of 2"

This reverts commit 95a0479d5cf72a2b2d9d21ec0bed2823ed213fef.

Nevermind this DRY on 2, because we already have a RY on 1,
besides the code is less readable this way...

/# This is the 7th commit message:

attempt to document unsetting RUST_BACKTRACE

/# This is the 8th commit message:

curb allocations when checking for RUST_BACKTRACE

this means we don't check for case-insensitivity anymore

/# This is the 9th commit message:

as decided, RUST_BACKTRACE=0 turns off backtrace

/# This is the 10th commit message:

RUST_TEST_NOCAPTURE=0 acts as if unset

(that is, capture is on)

Any other value acts as if nocapture is enabled (that is, capture is off)

/# This is the 11th commit message:

update other RUST_TEST_NOCAPTURE occurrences

apparently only one place needs updating

/# This is the 12th commit message:

update RUST_BACKTRACE in man page

/# This is the 13th commit message:

handle an occurrence of RUST_BACKTRACE

/# This is the 14th commit message:

ensure consistency with new rules for backtrace

/# This is the 15th commit message:

a more concise comment for RUST_TEST_NOCAPTURE

/# This is the 16th commit message:

update RUST_TEST_NOCAPTURE in man page
2016-03-31 23:02:59 +02:00
David AO Lozano
9094935b46 Using only one Mibbit link for access the two channels 2016-03-31 02:49:15 -06:00
David AO Lozano
c233f2ee29 Adding #rust-beginners to README and pointing the two channels on getting-started 2016-03-31 02:49:05 -06:00
David AO Lozano
90d7440f54 Misspelled beginners in one place 2016-03-31 02:48:50 -06:00
David AO Lozano
823f239ae5 Book: in beginner guide change irc channel #rust → #rust-beginners 2016-03-31 02:47:46 -06:00
Manish Goregaokar
458fae709c Rollup merge of #32618 - ProgVal:patch-1, r=steveklabnik
Book: Fix phrasing: “an associated type” → “an object with an associated type”.

From what I understood, `graph` is the object from which we create a trait object, and the associated types are `Graph::N` and `Graph::E`.
2016-03-31 05:04:59 +05:30
Valentin Lorentz
b1b37384cd Book: Fix phrasing: “an associated type” → “a trait with an associated type”. 2016-03-30 19:34:53 +02:00
Steve Klabnik
45d633db26 Rollup merge of #32605 - tshepang:not-needed, r=Manishearth
doc: "mut" not needed for the examples
2016-03-30 10:16:54 -07:00
Christopher Serr
e9b1c3ccb5 Fix panic_fmt in the Book
While implementing panic_fmt for the GameCube I noticed that the parameters given to it were completely broken. Turns out that panic_fmt requires the C ABI to work correctly. This should be fixed in the documentation, so that others don't make the same mistake. Thanks to mbrubeck in the IRC for helping me figure this out.

Not specifying extern for lang_items correctly should potentially also be a compiler error.
2016-03-29 22:28:17 +02:00
Tshepang Lekhonkhobe
cd92e9f966 doc: "mut" not needed for the examples 2016-03-29 19:59:55 +02:00
Steve Klabnik
9eea1d7494 Rollup merge of #32534 - xtian:patch-1, r=steveklabnik
Getting Started: "copy" -> "move"
2016-03-28 13:48:29 -04:00
Steve Klabnik
5e02fd3727 Rollup merge of #32509 - tclfs:patch-2, r=steveklabnik
docs: make some text changes on Section `Macros`

(1) In contrast to `that`, `so that` expresses `result` indicated by the sentence, not `reason`;
(2) `block` is an expression, and may be have an expression, so I add `optionally an expression` to make more precise;
~~(3) When I read here, I was confused with what `the child` referred to. After modification, it would be better.~~
2016-03-28 13:48:29 -04:00
Steve Klabnik
982d9591e1 Rollup merge of #32504 - tclfs:patch-1, r=steveklabnik
Docs: a tiny modification
2016-03-28 13:48:28 -04:00
Steve Klabnik
56bb7b64c8 Rollup merge of #32235 - fbergr:trailing_whitespace, r=sanxiyn
Remove trailing whitespace at the end of lines

According the rules of styling Rust code there should not be trailing whitespace at the end of lines or files. I thought that it might be good to remove trailing whitespace from other files also, if it does not break anything.
2016-03-28 13:48:28 -04:00
Andrew Horton
60a1aa7147 Update concurrency.md
Typo "las time" -> "last time"
2016-03-28 10:35:46 +01:00
Christian Wesselhoeft
dd08804f0a Getting Started: "copy" -> "move" 2016-03-27 12:15:31 -06:00
Manish Goregaokar
5954fce848 Improve concurrency chapter 2016-03-27 22:05:58 +05:30
Tang Chenglong
708c5d09d7 Update macros.md 2016-03-27 17:59:33 +08:00
Tang Chenglong
bbba872dde docs: make some text changes on Section Macros
(1) In contrast to `that`, `so that` expresses `result` indicated by the sentence, not `reason`;
(2) `block` is an expression, and may be have an expression, so I add `optional an expression` to make more precise;
(3) When I read here, I was confused with what `the child` referred to. After modification, it would be better.
2016-03-26 23:59:16 +08:00
Tang Chenglong
e469c79de8 Docs: a tiny modification 2016-03-26 21:18:08 +08:00
Alejandro Wainzinger
6ce63fb3f1 Add note on str being an unsized type in strings section of book. 2016-03-25 23:25:40 +09:00
Tang Chenglong
ceaf5dfdc1 Docs: some tiny corrections
TNT->`tnt`
firecracker->`firecracker`
2016-03-24 14:49:40 +08:00
Eduard-Mihai Burtescu
2e9b40f576 Rollup merge of #32443 - tclfs:patch-8, r=steveklabnik
Docs: Change "statements" to "expressions" on `match`

I apt to use `expressions` over `statements`, because `match` is a expression in essence, though it can become a statement when followed a semicolon.
2016-03-23 17:59:16 +02:00
Tang Chenglong
ea9ae48662 Docs: Change "statements" to "expressions" on match
I apt to use `expressions` over `statements`, because `match` is a expression in essence, though it can become a statement when followed a semicolon.
2016-03-23 12:03:41 +08:00
nicholasf
45c72d5f5b Simplifying some of the phrasing explaining lifetime elision 2016-03-23 05:00:27 +11:00
Florian Berger
ccafdae9a1 Remove trailing whitespace at the end of lines 2016-03-22 19:31:39 +02:00
Steve Klabnik
6a3c7d5630 Rollup merge of #32397 - tclfs:patch-7, r=steveklabnik
docs: Make some changes in texts

In my understanding, the description is somehow inappropriate.
2016-03-21 11:46:53 -04:00
Steve Klabnik
078b288ebd Rollup merge of #32373 - tclfs:patch-5, r=steveklabnik
docs: Correct an  improper description

In the example, we made a immutable borrow to `println!`, not a mutable one.
2016-03-21 11:46:53 -04:00
Steve Klabnik
3c3b9ad76a Rollup merge of #32340 - Digipom:master, r=steveklabnik
Update of the book; Error handling, section on custom error types: we…

… should also show the changes to the `cause` method.

When I started creating my own error type, I found that we also have to update the cause method, otherwise we have a missing match branch.

It would also be nice to elaborate on the relationship and difference between the description() and fmt() method, but that should be done by someone with more experience with them. :)
2016-03-21 11:46:52 -04:00
Steve Klabnik
0694d63674 Rollup merge of #32339 - tclfs:patch-4, r=apasel422
docs: make some tiny modification about spelling

I think it would be better after modification.
2016-03-21 11:46:52 -04:00
Tang Chenglong
a5d9057ca7 docs: Make some changes in texts
In my understanding, the description is somehow inappropriate.
2016-03-21 21:00:04 +08:00
Tang Chenglong
06d8b21372 docs: Correct an improper description
In the example, we made a immutable borrow to `println!`, not a mutable one.
2016-03-20 21:24:46 +08:00
Eduard-Mihai Burtescu
d5dceba8fa Rollup merge of #32327 - toddlucas:master, r=apasel422
Minor phrasing adjustment to book references-and-borrowing
2016-03-19 12:30:01 +02:00
Eduard-Mihai Burtescu
cb9b1b26c0 Rollup merge of #32316 - tclfs:patch-3, r=steveklabnik
docs: `let` introduces a statement

I changes *expression* to *statement* to make more accurate, because in Rust, `let` introduces a declaration statement.
2016-03-19 12:30:01 +02:00
Eduard-Mihai Burtescu
33c28b45c8 Rollup merge of #32288 - tclfs:patch-2, r=apasel422
docs: One typo

I think it's a mistake of spelling.
2016-03-19 12:30:00 +02:00
Kevin Brothaler
8f99ad2a2a Update of the book; Error handling, section on custom error types: we should also show the changes to the cause method. 2016-03-18 11:40:45 -04:00
Tang Chenglong
2318e9fbe2 docs: Make some tiny modification about spelling 2016-03-18 23:29:12 +08:00
Todd Lucas
667d1c67e2 Minor phrasing adjustment 2016-03-17 20:14:05 -07:00
Tang Chenglong
79244c3a6b let introduces a statement
I changes *expression* to *statement* to make more accurate, because in Rust, `let` introduces a declaration statement.
2016-03-18 01:17:19 +08:00
Tang Chenglong
01d76099f2 docs: One typo
I think it's a mistake of spelling.
2016-03-16 23:45:28 +08:00
Tang Chenglong
94ee40a5d4 FreeBSD has already supported Cargo
Both Packages and Ports of FreeBSD have Cargo in present.
2016-03-16 00:15:40 +08:00
Manish Goregaokar
2e21ff1a9d Rollup merge of #32218 - cantino:minor_book_typo_fixes, r=steveklabnik
Fix minor typos in doc.rust-lang.org/book

I've made a few typo and grammar fixes as I've been working through the book.
2016-03-13 19:33:27 +05:30
Andrew Cantino
56ab2a1cde Fix minor typos in doc.rust-lang.org/book 2016-03-12 12:35:34 -08:00
Manish Goregaokar
744ffed25a Rollup merge of #32178 - naltun:patch-1, r=steveklabnik
Update getting-started.md

In `rustc 1.7.0` the message that is displayed is now `Rust is ready to roll.`
2016-03-12 02:41:26 +05:30
bors
aeb85a9533 Auto merge of #32133 - alexcrichton:linkchecker, r=brson
Add a link validator to rustbuild

This commit was originally targeted at just adding a link checking script to the rustbuild system. This ended up snowballing a bit to extend rustbuild to be amenable to various tools we have as part of the build system in general.

There's a new `src/tools` directory which has a number of scripts/programs that are purely intended to be used as part of the build system and CI of this repository. This is currently inhabited by rustbook, the error index generator, and a new linkchecker script added as part of this PR. I suspect that more tools like compiletest, tidy scripts, snapshot scripts, etc will migrate their way into this directory over time.

The commit which adds the error index generator shows the steps necessary to add new tools to the build system, namely:

1. New steps are defined for building the tool and running the tool
2. The dependencies are configured
3. The steps are implemented

In terms of the link checker, these commits do a few things:

* A new `src/tools/linkchecker` script is added. This will read an entire documentation tree looking for broken relative links (HTTP links aren't followed yet).
* A large number of broken links throughout the documentation were fixed. Many of these were just broken when viewed from core as opposed to std, but were easily fixed.
* A few rustdoc bugs here and there were fixed
2016-03-11 04:38:04 -08:00
Noah
4d476693f0 Update getting-started.md
In `rustc 1.7.0` the message that is displayed is now `Rust is ready to roll.`
2016-03-10 11:34:42 -06:00