Commit Graph

27779 Commits

Author SHA1 Message Date
Tobias Bucher
dbeea147ad Fix an unnecessary use of cast::transmute
Wherever possible, more specialized variants of said functions should be used,
such as in this case `cast::transmute_mmut_unsafe`.
2014-04-05 20:38:35 +02:00
bors
94a055c729 auto merge of #13333 : Ryman/rust/improve_incompatible_type_error, r=alexcrichton
This can be a frustrating error message, ideally we should print the signature mismatch, but hinting that it's a trait incompatibility helps tracking root cause. Also beefed up the testcases for this.

Ideally we would print the signature mismatch in the error helper?
2014-04-05 08:41:32 -07:00
bors
2dcdc75c6c auto merge of #13332 : mbrubeck/rust/doc-edit, r=huonw
Also add the new `proc` keyword to the documentation.
2014-04-05 07:21:36 -07:00
bors
60d3c082e8 auto merge of #13331 : pongad/rust/remove-wrapper, r=thestinger
Fixes #12713
2014-04-05 06:01:36 -07:00
bors
e7148592ad auto merge of #13330 : huonw/rust/loop-error, r=alexcrichton
rustc: move the check_loop pass earlier.

This pass is purely AST based, and by running it earlier we emit more
useful error messages, e.g. type inference fails in the case of 
`let r = break;` with few constraints on `r`, but it's more useful to be told that
the `break` is outside the loop (rather than a type error) when it is.

Closes #13292.
2014-04-05 04:41:33 -07:00
bors
3bfa05021d auto merge of #13329 : ckendell/rust/remmanaged_tutorial, r=brson
Fixes #13287
Completes work started in #13298

Removed all reference to and sample code using managed boxes/pointers.
2014-04-05 03:21:34 -07:00
bors
339d400261 auto merge of #13284 : pnkfelix/rust/more-fs-info-on-crate-mismatch, r=alexcrichton
Fix #13266.

There is a little bit of acrobatics in the definition of `crate_paths`
to avoid calling `clone()` on the dylib/rlib unless we actually are
going to need them.

The other oddity is that I have replaced the `root_ident: Option<&str>`
parameter with a `root: &Option<CratePaths>`, which may surprise one
who was expecting to see something like: `root: Option<&CratePaths>`.
I went with the approach here because I could not come up with code for
the alternative that was acceptable to the borrow checker.
2014-04-04 21:06:34 -07:00
Felix S. Klock II
f4cde4eddc Rough regression test for #13266.
All it checks, unfortunately, is that you actually printed at least
two lines for crateA paths and at least one line for crateB paths.
But that's enough to capture the spirit of the bug, I think.  I did
not bother trying to verify that the paths themselves reflected where
the crates end up.
2014-04-05 03:53:28 +02:00
Felix S. Klock II
4afd060a59 Accumulate list of paths for crate hash mismatch.
(i.e. semi-generalized version of prior errorinfo gathering.)

Also revised presentation to put each path on its own line, prefixed
by file:linenum information.
2014-04-05 03:49:03 +02:00
Felix S. Klock II
1599d22603 Added session.fileline_note() method and support infrastucture for it.
Add way to print notes with just file:linenum prefix (preserving
integration with source lookup for e.g. vi and emacs) but don't repeat
the other span info.
2014-04-05 03:46:43 +02:00
Kevin Butler
28938d08a0 librustc: Improve error message for incompatible trait method signatures. 2014-04-05 02:22:00 +01:00
Matt Brubeck
fbba696a46 Remove references to obsolete do keyword
Also add the new `proc` keyword to the documentation.
2014-04-04 17:33:20 -07:00
Michael Darakananda
d27dd8251d Removed cmath and instrinsic wrapper. 2014-04-04 20:32:50 -04:00
Huon Wilson
3766453a42 rustc: move the check_loop pass earlier.
This pass is purely AST based, and by running it earlier we emit more
useful error messages, e.g. type inference fails in the case of `let r =
break;` with few constraints on `r`, but its more useful to be told that
the `break` is outside a loop (rather than a type error) when it is.

Closes #13292.
2014-04-05 10:52:28 +11:00
Christopher Kendell
dab5de268d Removed all instance of @ in code examples. 2014-04-04 16:26:33 -07:00
Christopher Kendell
51ea4fb17f Small change to example to make variable values more sensible. 2014-04-04 16:25:52 -07:00
bors
4cf8d8ce69 auto merge of #13326 : alexcrichton/rust/rollup, r=alexcrichton
Closes #13313 (Fix typo in README.md)
Closes #13311 (Fix inner attribute syntax from `#[foo];` to `#![foo]`)
Closes #13309 (Add stdlib docs to the Linux binary tarball.)
Closes #13308 (syntax: remove obsolete mutability from ExprVec and ExprRepeat.)
Closes #13306 (TrieSet should impl Set/MutableSet; add with_capacity to PriorityQueue/SmallIntMap)
Closes #13303 (Register new snapshots)
Closes #13274 (Added grow_fn and retain to Vec)

*Issues Closed*

Closes #13249
2014-04-04 16:01:44 -07:00
Alex Crichton
6d43138b75 Test fixes from rollup 2014-04-04 15:57:45 -07:00
Michael Darakananda
bf1ffaf5f4 Added grow_fn and retain to Vec 2014-04-04 13:23:21 -07:00
Alex Crichton
d250ec0bdd Register new snapshots 2014-04-04 13:23:08 -07:00
Erick Tryzelaar
58ac1c3563 extra: Add with_capacity to PriorityQueue and SmallIntMap 2014-04-04 13:23:07 -07:00
Erick Tryzelaar
8057faa2d3 std: TrieSet should implement container::{,Mutable}Set 2014-04-04 13:23:07 -07:00
Eduard Burtescu
7c48e53c1e syntax: remove obsolete mutability from ExprVec and ExprRepeat. 2014-04-04 13:23:03 -07:00
Huon Wilson
b236f45e35 Add stdlib docs to the Linux binary tarball.
These are not installed anywhere, but are included under `./doc` for
those who want an offline copy with their nightlies. This increases the
size of the (compressed) tarball from 76 to 83 MB.
2014-04-04 13:23:00 -07:00
Timothée Ravier
73b0186290 Fix inner attribute syntax from #[foo]; to #![foo]
From the 0.10 changelog:
 * The inner attribute syntax has changed from `#[foo];` to `#![foo]`.
2014-04-04 13:22:57 -07:00
Falco Hirschenberger
ba9c51d20f Update README.md
Fix typo
2014-04-04 13:22:52 -07:00
bors
e5f1b9f6dc auto merge of #13272 : ipetkov/rust/rustdoc-ignored-tests, r=alexcrichton
librustdoc: instead of skipping ignored tests, pass them to libtest
so it can report them as such.  If a test is marked as `notrust`,
however, it will not show up in the final report.

Fix #12939
2014-04-04 11:56:53 -07:00
bors
2b27a5ad91 auto merge of #12956 : killerswan/rust/docs, r=alexcrichton 2014-04-04 10:01:57 -07:00
bors
eae2652710 auto merge of #13301 : erickt/rust/remove-refcell-get, r=huonw
`RefCell::get` can be a bit surprising, because it actually clones the wrapped value. This removes `RefCell::get` and replaces all the users with `RefCell::borrow()` when it can, and `RefCell::borrow().clone()` when it can't. It removes `RefCell::set` for consistency. This closes #13182.

It also fixes an infinite loop in a test when debugging is on.
2014-04-04 08:41:50 -07:00
bors
46e6194ee1 auto merge of #13298 : ckendell/rust/remove_managed_pointers_from_tutorial, r=cmr
Work on #13287 

This is not ready for a merge yet, but I wanted to get some eyes on what I have done so far.

As of right now, all references in the text to managed boxes or pointers are removed. Code associated with those specific sections of text have likewise been altered. I also removed all references to managed closures.

There is a small change I would like to add to the work done in 3137cd5, on the new lines 1495 and 1496, I would like to change those values to 10 and 20. I did the same in a later change on lines 1596 and 1508.

There are still bits of sample code that use managed pointers and the sigil @. Those are next on my list to remove, but I wanted to have the outstanding changes reviewed first. The uses of @ in the code samples are a bit more embedded, and I will need to be more careful changing them as to not change the purpose of the code examples.

I ensured that make check still passes, although I'm not sure if that actually tests the code in tutorial.md.

One issues I ran into, and tried to avoid, was that `tutorial.md` is formatted with a nice column limit. I was unsure how this was enforced, so wherever I edited a line, I did my best to keep edits on the line they previously existed on. As such, the plain text of `tutorial.md` looks a bit strange as I've left it, and I will clean that up as suggested. The rendered markdown output should not be affected.
2014-04-04 07:26:51 -07:00
bors
286b62e0da auto merge of #13295 : huonw/rust/gate-concat-idents, r=alexcrichton
rustc: feature-gate `concat_idents!`.

concat_idents! is not as useful as it could be, due to macros only being
allowed in limited places, and hygiene, so lets feature gate it until we
make a decision about it.

cc #13294
2014-04-04 06:07:02 -07:00
bors
37a9885429 auto merge of #13291 : thestinger/rust/no_null, r=alexcrichton
This was missed when dropping the null-termination from our string
types. An explicit null byte can still be placed anywhere in a string if
desired, but there's no reason to stick one at the end of every string
constant.
2014-04-04 04:41:49 -07:00
Huon Wilson
6c5e1d0925 rustc: feature-gate concat_idents!.
concat_idents! is not as useful as it could be, due to macros only being
allowed in limited places, and hygiene, so lets feature gate it until we
make a decision about it.

cc #13294
2014-04-04 20:25:50 +11:00
Kevin Cantu
02c9c94ddd [std::cmp] add missing docs and provide an example 2014-04-04 02:19:51 -07:00
bors
f819c21952 auto merge of #13207 : cmr/rust/attrib-reference, r=kballard 2014-04-04 02:16:48 -07:00
Corey Richardson
b727bb7feb manual: fix a broken example 2014-04-04 04:08:13 -04:00
bors
540c2a2a27 auto merge of #13255 : alexcrichton/rust/issue-5605, r=huonw
These syntax extensions need a place to be documented, and this starts passing a
`--cfg dox` parameter to `rustdoc` when building and testing documentation in
order to document macros so that they have no effect on the compiled crate, but
only documentation.

Closes #5605
2014-04-04 01:01:51 -07:00
Corey Richardson
838a57ba9e manual: refine ECMA-335 reference for attributes 2014-04-04 02:10:22 -04:00
Corey Richardson
d2648cc23f manual: further attribute clarifications
- Sort attributes lexicographically
- Use new attribute syntax consistently
- Fix wording describing new attribute syntax
- Expand section on `repr`
2014-04-04 02:09:49 -04:00
Corey Richardson
a86d6b4cc9 manual: fix attribute ebnf 2014-04-04 02:08:53 -04:00
Corey Richardson
13ac12db1c manual: update style 2014-04-04 02:08:50 -04:00
Ivan Petkov
a0a7693101 rustdoc: Fix reporting of ignored tests
librustdoc: instead of skipping ignored tests, pass them to libtest
so it can report them as such.  If a test is marked as `notrust`,
however, it will not show up in the final report.
2014-04-03 23:07:00 -07:00
bors
7056f97093 auto merge of #12964 : gereeter/rust/extended-atomics, r=alexcrichton
Fixes #12949.
2014-04-03 22:06:50 -07:00
Corey Richardson
b6d5dafea5 etc: attempts at fixing editor highlighting for new attribute syntax 2014-04-04 00:53:23 -04:00
Corey Richardson
2eccb1d0c2 manual: many fixes
Mostly around attributes and language items.
2014-04-04 00:52:41 -04:00
Corey Richardson
a410833a7f manual: update the note about reserved attributes 2014-04-04 00:52:41 -04:00
Erick Tryzelaar
1b6997d069 test: avoid infinite loop in out-of-stack.rs
This fixes #13238. It avoids an infinite loop when compiling
the tests with `-g`. Without this change, the debuginfo on
`black_box` prevents the method from being inlined, which
allows llvm to convert `silent_recurse` into a tail-call. This
then loops forever instead of consuming all the stack like it
is supposed to. This patch forces inlining `black_box`, which
triggers the right error.
2014-04-03 20:28:59 -07:00
Erick Tryzelaar
3961957bd6 std: Remove RefCell::set() 2014-04-03 20:28:59 -07:00
Erick Tryzelaar
7bcfe2ee10 std: Remove RefCell::get()
It's surprising that `RefCell::get()` is implicitly doing a clone
on a value. This patch removes it and replaces all users with
either `.borrow()` when we can autoderef, or `.borrow().clone()`
when we cannot.
2014-04-03 20:28:55 -07:00
bors
2a2d0dce87 auto merge of #13296 : brson/rust/0.11-pre, r=alexcrichton
This also changes some of the download links in the documentation
to 'nightly'.
2014-04-03 19:56:45 -07:00