Commit Graph

30174 Commits

Author SHA1 Message Date
John Clements 19e1d834ff enrich and rename crate_idents test case 2014-06-25 14:16:12 -07:00
John Clements 9215d7e5b7 comments only 2014-06-25 14:16:12 -07:00
John Clements bcdcaea572 revive old commented-out test cases as ignored test cases for hygiene 2014-06-25 14:15:40 -07:00
John Clements c8558f2300 tidy macro just a bit 2014-06-25 14:14:27 -07:00
Steve Klabnik a8ddab4f25 Add extra ignore directives. 2014-06-25 16:12:40 -04:00
Alex Crichton 2823be08b7 Register new snapshots
This change starts denying `*T` in the parser. All code using `*T` should ensure
that the FFI call does indeed take `const T*` on the other side before renaming
the type to `*const T`.

Otherwise, all code can rename `*T` to `*const T`.

[breaking-change]
2014-06-25 12:47:56 -07:00
bors 9f8149e185 auto merge of #15171 : pcwalton/rust/remove-cross-borrowing, r=brson
This will break code like:

    fn f(x: &mut int) {}

    let mut a = box 1i;
    f(a);

Change it to:

    fn f(x: &mut int) {}

    let mut a = box 1i;
    f(&mut *a);

RFC 33; issue #10504.

[breaking-change]

r? @brson
2014-06-25 18:51:21 +00:00
Steve Klabnik cccae83d92 Guide: Hello, world!
Let's write our first Rust program!
2014-06-25 14:26:14 -04:00
bors 7da94c1a00 auto merge of #15173 : Sawyer47/rust/de-to-string, r=alexcrichton 2014-06-25 17:06:17 +00:00
bors 7be7a8fb3a auto merge of #15121 : steveklabnik/rust/matching_docs, r=alexcrichton
Fixes #11113.
2014-06-25 15:21:26 +00:00
Steve Klabnik 1d574c1731 thanks @sfackler 2014-06-25 11:01:17 -04:00
Steve Klabnik 845ee09dfe fix feedback from @huonw 2014-06-25 11:00:34 -04:00
Steve Klabnik 338a84d45f Guide: install instructions 2014-06-25 11:00:33 -04:00
Steve Klabnik 53627dd1f2 Make an example more clear with sample code.
Fixes #11113.
2014-06-25 10:38:03 -04:00
bors 2f74325fcf auto merge of #15174 : alco/rust/patch-1, r=alexcrichton 2014-06-25 13:36:21 +00:00
Alexei Sholik beff610102 Fix wrong type name: IoError<()> -> IoResult<()> 2014-06-25 12:12:28 +03:00
Alexei Sholik f21b29560c Fix a typo in fmt.rs 2014-06-25 11:29:28 +03:00
bors bab614f5fa auto merge of #15164 : pcwalton/rust/vector-cast-weirdness, r=alexcrichton
vector-reference-to-unsafe-pointer-to-element cast if the type to be
casted to is not fully specified.

This is a conservative change to fix the user-visible symptoms of the
issue. A more flexible treatment would delay cast checks to after
function typechecking.

This can break code that did:

    let x: *u8 = &([0, 0]) as *_;

Change this code to:

    let x: *u8 = &([0, 0]) as *u8;

Closes #14893.

[breaking-change]

r? @alexcrichton
2014-06-25 08:06:21 +00:00
Patrick Walton 315f2a7054 librustc: Don't try to perform the magical
vector-reference-to-unsafe-pointer-to-element cast if the type to be
casted to is not fully specified.

This is a conservative change to fix the user-visible symptoms of the
issue. A more flexible treatment would delay cast checks to after
function typechecking.

This can break code that did:

    let x: *u8 = &([0, 0]) as *_;

Change this code to:

    let x: *u8 = &([0, 0]) as *u8;

Closes #14893.

[breaking-change]
2014-06-24 23:27:41 -07:00
bors 9e103acaba auto merge of #15165 : zookoatleastauthoritycom/rust/14148-Optimize-out-exhortations-about-being-careful-2, r=huonw
Yes, it is important to be careful, but repeated emphasis about it is probably
not helpful — it starts to sound like you came for a tutorial but found a
finger-wagging lecture.

Even after I removed a few of these comments, there are still several left in
the text. That's probably fine! A couple of mentions of how this is dangerous
and you ought to be careful may be a good reminder to the reader.

After making the edits, I reflowed the paragraphs that I had touched, using
emacs's "M-x fill-paragraph", with fill-column equal to 70.
2014-06-25 06:21:20 +00:00
Patrick Walton f6bfd2c65b librustc: Remove cross borrowing from mutable `Box`es to `&mut`.
This will break code like:

    fn f(x: &mut int) {}

    let mut a = box 1i;
    f(a);

Change it to:

    fn f(x: &mut int) {}

    let mut a = box 1i;
    f(&mut *a);

RFC 33; issue #10504.

[breaking-change]
2014-06-24 23:14:42 -07:00
Piotr Jawniak b53acd5356 compiletest: Remove superfluous to_string calls 2014-06-25 07:35:54 +02:00
bors 7a93beef7f auto merge of #15160 : alexcrichton/rust/remove-f128, r=brson
The f128 type has very little support in the compiler and the feature is
basically unusable today. Supporting half-baked features in the compiler can be
detrimental to the long-term development of the compiler, and hence this feature
is being removed.
2014-06-25 04:31:19 +00:00
bors 91be86af09 auto merge of #15163 : alexcrichton/rust/rollup, r=alexcrichton 2014-06-25 02:02:00 +00:00
Alex Crichton cdccecb24f Test fixes from the rollup
Closes #14482 (std: Bring back half of Add on String)
Closes #15026 (librustc: Remove the fallback to `int` from typechecking.)
Closes #15119 (Add more description to c_str::unwrap().)
Closes #15120 (Add tests for #12470 and #14285)
Closes #15122 (Remove the cheat sheet.)
Closes #15126 (rustc: Always include the morestack library)
Closes #15127 (Improve ambiguous pronoun.)
Closes #15130 (Fix #15129)
Closes #15131 (Add the Guide, add warning to tutorial.)
Closes #15134 (Xfailed tests for hygiene, etc.)
Closes #15135 (core: Add stability attributes to Clone)
Closes #15136 (Some minor improvements to core::bool)
Closes #15137 (std: Add stability attributes to primitive numeric modules)
Closes #15141 (Fix grammar in tutorial)
Closes #15143 (Remove few FIXMEs)
Closes #15145 (Avoid unnecessary temporary on assignments)
Closes #15147 (Small improvements for metaprogramming)
Closes #15153 (librustc: Check function argument patterns for legality of by-move)
Closes #15154 (test: Add a test for regions, traits, and variance.)
Closes #15159 (rustc: Don't register syntax crates twice)
Closes #13816 (Stabilize version output for rustc and rustdoc)
2014-06-24 18:57:01 -07:00
Zooko Wilcox-O'Hearn 668bad6d4c reflow with emacs fill-paragraph (fill-column 71) 2014-06-25 01:35:50 +00:00
Zooko Wilcox-O'Hearn d6ea8627ba add "(see below)" to a reference to a new concept
This is because I observed someone reading the tutorial who thought they'd
missed something when they got to the mention of variable bindings.

This patch doesn't reflow the paragraphs so that you can see the semantic
change that I made, and a subsequent patch will reflow this paragraph.

Fixes https://github.com/rust-lang/rust/issues/13570.
2014-06-25 01:34:24 +00:00
Zooko Wilcox-O'Hearn e3050ffa52 Optimize out exhortations about being careful.
Yes, it is important to be careful, but repeated emphasis about it is probably
not helpful — it starts to sound like you came for a tutorial but found a
finger-wagging lecture.

Even after I removed a few of these comments, there are still several left in
the text. That's probably fine! A couple of mentions of how this is dangerous
and you ought to be careful may be a good reminder to the reader.

After making the edits, I reflowed the paragraphs that I had touched, using
emacs's "M-x fill-paragraph", with fill-column equal to 70.
2014-06-25 01:25:10 +00:00
Robert Buonpastore d6a4c431f4 Stabilize version output for rustc and rustdoc 2014-06-24 17:24:34 -07:00
Alex Crichton fb296b8011 rustc: Don't register syntax crates twice
We only need to register them once, and once they're registered twice warnings
will start being spewed or worse may happen!

Closes #14330
2014-06-24 17:24:19 -07:00
Patrick Walton 86dda1b6f3 test: Add a test for regions, traits, and variance.
Closes #12470.
2014-06-24 17:23:44 -07:00
Patrick Walton 75146fd59c librustc: Check function argument patterns for legality of by-move
bindings.

This will break code that incorrectly did things like:

    fn f(a @ box b: Box<String>) {}

Fix such code to not rely on undefined behavior.

Closes #12534.

[breaking-change]
2014-06-24 17:23:41 -07:00
Keegan McAllister 5ccf056a02 Make parse_expr_res public 2014-06-24 17:23:21 -07:00
Keegan McAllister 26b2fa052f Allow splicing more things in quotes 2014-06-24 17:23:21 -07:00
Keegan McAllister 4e26e2d8ca Use macros to implement syntax::ext::quote::ToSource
This code deserves a bigger refactor, but here's a local improvement.
2014-06-24 17:23:21 -07:00
Björn Steinbrink a0ec902e23 Avoid unnecessary temporary on assignments
We only need the temporary when the type needs to be dropped, for other
types, we can use trans_into to directly place the value into the
destination.
2014-06-24 17:23:19 -07:00
Piotr Jawniak e4e3550ff6 Remove few FIXMEs
This commit removes FIXMEs of few closed issues.

Closes #13992
2014-06-24 17:23:16 -07:00
Michael Zhou 58078005cf Fix grammar in tutorial
"as this document" should be "than this document"
2014-06-24 17:23:12 -07:00
Brian Anderson 808b848eaf std: Add stability attributes to primitive numeric modules
The following are unstable:

- core::int, i8, i16, i32, i64
- core::uint, u8, u16, u32, u64
- core::int::{BITS, BYTES, MIN, MAX}, etc.
- std::int, i8, i16, i32, i64
- std::uint, u8, u16, u32, u64

The following are experimental:
- std::from_str::FromStr and impls - may need to return Result instead of Option
- std::int::parse_bytes, etc. - ditto
- std::num::FromStrRadix and impls - ditto
- std::num::from_str_radix - ditto

The following are deprecated:
- std::num::ToStrRadix and imples - Wrapper around fmt::radix. Wrong name (Str vs String)

See https://github.com/rust-lang/rust/wiki/Meeting-API-review-2014-06-23#uint
2014-06-24 17:23:05 -07:00
Brian Anderson 250e2362de Move core::bool tests to run-pass
These are closer to language tests than library.
2014-06-24 17:22:59 -07:00
Brian Anderson 4203dcb351 core: Remove bool::to_bit
This is an unused one-liner.
2014-06-24 17:22:59 -07:00
Brian Anderson adbd5d7a42 core: Add stability attributes to Clone
The following are tagged 'unstable'

- core::clone
- Clone
- Clone::clone
- impl Clone for Arc
- impl Clone for arc::Weak
- impl Clone for Rc
- impl Clone for rc::Weak
- impl Clone for Vec
- impl Clone for Cell
- impl Clone for RefCell
- impl Clone for small tuples

The following are tagged 'experimental'

- Clone::clone_from - may not provide enough utility
- impls for various extern "Rust" fns - may not handle lifetimes correctly

See https://github.com/rust-lang/rust/wiki/Meeting-API-review-2014-06-23#clone
2014-06-24 17:22:57 -07:00
John Clements 1ea2efece1 added xfailed test for issue 9737 2014-06-24 17:22:54 -07:00
John Clements a4a0c69209 added xfailed tests for two other flavors of var hygiene 2014-06-24 17:22:54 -07:00
Steve Klabnik 3ed78f5b6b Add the Guide, add warning to tutorial.
In line with what @brson, @cmr, @nikomatsakis and I discussed this morning, my
redux of the tutorial will be implemented as the Guide. This way, I can work in
small iterations, rather than dropping a huge PR, which is hard to review.  In
addition, the community can observe my work as I'm doing it.

This adds a note in line with [this comment][reddit] that clarifies the state
of the tutorial, and the community's involvement with it.

[reddit]: http://www.reddit.com/r/rust/comments/28bew8/rusts_documentation_is_about_to_drastically/ci9c98k
2014-06-24 17:22:50 -07:00
Jakub Wieczorek c484c2d1f8 Fix #15129
Add support for unit literals to const_eval.
2014-06-24 17:22:48 -07:00
Steve Klabnik 85effb9f3e Improve ambiguous pronoun.
Fixes #14806
2014-06-24 17:22:45 -07:00
Alex Crichton b18c4cfef0 rustc: Always include the morestack library
It was previously assumed that the object file generated by LLVM would always
require the __morestack function, but that assumption appears to be incorrect,
as outlined in #15108. This commit forcibly tells the linker to include the
entire archive, regardless of whether it's currently necessary or not.

Closes #15108
2014-06-24 17:22:41 -07:00
Steve Klabnik e16a87513a Remove the cheat sheet.
Rust by Example is far better.

Fixes #14380.
2014-06-24 17:22:39 -07:00
Edward Wang bf61bb6b7f Add tests for #12470 and #14285
The #14869 removed `TraitStore` from `ty_trait` and represented trait
reference as regular `ty_rptr`. An old bug of the missing constraint
upon lifetime parameter of trait reference then is fixed as a side
effect. Adds tests for affected bugs and closes them.

Closes #12470.
Closes #14285.
2014-06-24 17:19:19 -07:00