Commit Graph

41649 Commits

Author SHA1 Message Date
Erick Tryzelaar
19c8d70174 syntax: Copy unstable str::char_at into libsyntax 2015-04-21 10:23:53 -07:00
Steve Klabnik
0070625495 small edits for recently written book chapters 2015-04-21 13:17:43 -04:00
Erick Tryzelaar
7f9180fcb9 syntax: Change ExpnId::{from,to}_llvm_cookie to {from,to}_u32 2015-04-21 10:11:05 -07:00
Erick Tryzelaar
83b1d7fd6f syntax: Remove #[feature(path_ext)]
Replace Path::exists with stable metadata call.
2015-04-21 10:09:27 -07:00
Erick Tryzelaar
c3da1a1912 syntax: replace Vec::push_all with stable Vec::extend 2015-04-21 10:09:26 -07:00
Erick Tryzelaar
21143aae94 syntax: Replace Vec::map_in_place with stable mut iterator 2015-04-21 10:08:57 -07:00
Erick Tryzelaar
a2cfe38505 syntax: Replace [].tail with the stable [1..] syntax 2015-04-21 10:08:27 -07:00
Erick Tryzelaar
2937cce70c syntax: Replace String::from_str with the stable String::from 2015-04-21 10:08:27 -07:00
Erick Tryzelaar
8553658952 syntax: remove #[feature(quote, unsafe_destructor)] 2015-04-21 10:08:27 -07:00
Erick Tryzelaar
bc6d990adb syntax: Don't use unstable fn to convert single element to a slice 2015-04-21 10:08:27 -07:00
Erick Tryzelaar
e3dd68d0a4 syntax: Remove use of TraitObject in pretty printer 2015-04-21 10:08:27 -07:00
Erick Tryzelaar
cfb9d286ea syntax: remove uses of .into_cow() 2015-04-21 10:08:26 -07:00
Erick Tryzelaar
ca0ee4c645 syntax: Remove uses of #[feature(slice_patterns)] 2015-04-21 10:08:26 -07:00
Erick Tryzelaar
a4541b02a3 syntax: remove #![feature(box_syntax, box_patterns)] 2015-04-21 10:07:48 -07:00
John Van Enk
5f7556cd39 Add an example of completely slicing an object. 2015-04-21 09:21:52 -07:00
Simon Sapin
16181e686a Pick a feature name for write_char 2015-04-21 18:16:08 +02:00
Brian Campbell
3cc84efcdd Deprecate std::fs::soft_link in favor of platform-specific versions
On Windows, when you create a symbolic link you must specify whether it
points to a directory or a file, even if it is created dangling, while
on Unix, the same symbolic link could point to a directory, a file, or
nothing at all.  Furthermore, on Windows special privilege is necessary
to use a symbolic link, while on Unix, you can generally create a
symbolic link in any directory you have write privileges to.

This means that it is unlikely to be able to use symbolic links purely
portably; anyone who uses them will need to think about the cross
platform implications.  This means that using platform-specific APIs
will make it easier to see where code will need to differ between the
platforms, rather than trying to provide some kind of compatibility
wrapper.

Furthermore, `soft_link` has no precedence in any other API, so to avoid
confusion, move back to the more standard `symlink` terminology.

Create a `std::os::unix::symlink` for the Unix version that is
destination type agnostic, as well as `std::os::windows::{symlink_file,
symlink_dir}` for Windows.

Because this is a stable API, leave a compatibility wrapper in
`std::fs::soft_link`, which calls `symlink` on Unix and `symlink_file`
on Windows, preserving the existing behavior of `soft_link`.
2015-04-21 12:14:22 -04:00
Felix S. Klock II
2b3cd40f82 add notes clarifying introduction of warnings for a pair of run-pass tests. 2015-04-21 18:09:46 +02:00
Felix S. Klock II
ccc9f5eb84 Tests for shadowing between lifetimes and loop labels within function bodies. 2015-04-21 18:09:46 +02:00
Felix S. Klock II
dd24070799 Check for shadowing between lifetimes and loop labels in function bodies.
Note: this Warns rather than error on shadowing problems involving labels.
We took this more conservative option mostly due to issues with
hygiene being broken for labels and/or lifetimes.

Add FIXME regarding non-hygienic comparison.
2015-04-21 18:09:41 +02:00
Simon Sapin
19cc9435d9 write_char is unlikely to make it for 1.0, it’ll be 1.1 2015-04-21 18:06:00 +02:00
Tamir Duberstein
71bc70ea1b Remove references to old_{path,io} 2015-04-21 08:16:03 -07:00
Tamir Duberstein
fe7f95fb3c Remove dead test
This was moved to https://github.com/rust-lang/term/issues/12
2015-04-21 08:16:02 -07:00
Tamir Duberstein
32e5f4948f Remove unused files
Looks like these were missed in bf4e77d.
2015-04-21 08:16:02 -07:00
Young Wu
7a0df61ab1 add TCP_* consts for linux 2015-04-21 22:42:34 +08:00
bors
7397bdc9c5 Auto merge of #24620 - pczarn:model-lexer-issues, r=cmr
Fixes #15679
Fixes #15878
Fixes #15882
Closes #15883
2015-04-21 14:37:53 +00:00
Tamir Duberstein
ba276adab5 LLVM < 3.5 is unsupported since bb18a3c 2015-04-21 07:20:48 -07:00
Simon Sapin
265a7cc3bd Add a write_char method to std::fmt::Write
as accepted in [RFC 526](https://github.com/rust-lang/rfcs/blob/master/text/0526-fmt-text-writer.md).
2015-04-21 14:51:28 +02:00
Steve Klabnik
9cc0af8d69 Refocus unsafe code chapter on unsafe itself. 2015-04-21 08:28:06 -04:00
bors
77acda1c8e Auto merge of #24598 - lfairy:impl-debug-for-file, r=alexcrichton
This patch adds a `Debug` impl for `std::fs::File`.

On all platforms (Unix and Windows) it shows the file descriptor.

On Linux, it displays the path and access mode as well.

Ideally we should show the path/mode for all platforms, not just Linux,
but this will do for now.

cc #24570
2015-04-21 11:46:15 +00:00
Piotr Czarnecki
13bc8afa4b Model lexer: Fix remaining issues 2015-04-21 12:02:12 +02:00
P1start
7d2231aa22 Change a few error messages to give code suggestions
PR #24242 added the ability to the compiler to directly give suggestions about
how to modify code to fix an error. The new errors look like this:

    foobar.rs:5:12: 5:25 error: expected a path on the left-hand side of `+`,
                                not `&'static Copy` [E0178]
    foobar.rs:5     let x: &'static Copy + 'static;
                           ^~~~~~~~~~~~~
    foobar.rs:5:12: 5:35 help: try adding parentheses (per RFC 438):
    foobar.rs:      let x: &'static (Copy + 'static);

    foobar.rs:2:13: 2:23 error: cast to unsized type: `&_` as `core::marker::Copy`
    foobar.rs:2     let x = &1 as Copy;
                            ^~~~~~~~~~
    foobar.rs:2:19: 2:23 help: try casting to a reference instead:
    foobar.rs:      let x = &1 as &Copy;

    foobar.rs:7:24: 7:25 error: expected expression, found `;`
    foobar.rs:7     let x = box (1 + 1);
                                       ^
    foobar.rs:7:13: 7:16 help: try using `box()` instead:
    foobar.rs:      let x = box() (1 + 1);

This also modifies compiletest to give the ability to directly test suggestions
given by error messages.
2015-04-21 21:13:42 +12:00
bors
3860240b0e Auto merge of #24646 - brson:stab, r=alexcrichton 2015-04-21 07:24:09 +00:00
Chris Wong
1131bc0a0f Implement Debug for File
This patch adds a `Debug` impl for `std::fs::File`.

On all platforms (Unix and Windows) it shows the file descriptor.

On Linux, it displays the path and access mode as well.

Ideally we should show the path/mode for all platforms, not just Linux,
but this will do for now.

cc #24570
2015-04-21 17:13:36 +12:00
mdinger
dc596695c9 Fix typos 2015-04-21 01:05:26 -04:00
bors
21c48c3e82 Auto merge of #24648 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #24514, #24516, #24571, #24577, #24625, #24627, #24628, #24629, #24630, #24631, #24632, #24642, #24643, #24647
- Failed merges: #24640
2015-04-21 01:18:15 +00:00
Steve Klabnik
9ddcc38b6e Refocus unsafe code chapter on unsafe itself. 2015-04-20 21:17:46 -04:00
Steve Klabnik
550c8d87a7 Rollup merge of #24647 - mbrubeck:doc-edit, r=steveklabnik
None
2015-04-20 21:15:55 -04:00
Steve Klabnik
1d082de2d9 Rollup merge of #24643 - steveklabnik:doc_if_let, r=jakub-
and while let
2015-04-20 21:15:54 -04:00
Steve Klabnik
d09a0cda3a Rollup merge of #24642 - tshepang:why-be-negative, r=huonw 2015-04-20 21:15:54 -04:00
Steve Klabnik
52ec8bdf73 Rollup merge of #24632 - steveklabnik:casting_guide, r=alexcrichton
Due to documenting `transmute`, addresses part of #12905
2015-04-20 21:15:54 -04:00
Steve Klabnik
9f87362308 Rollup merge of #24631 - steveklabnik:unsafe_guide, r=alexcrichton
Many unsafe features are now in the unstable section, so this section is
really just about raw pointers now. That also makes sense for its place
in the TOC.

This addresses part of #12905.
2015-04-20 21:15:54 -04:00
Steve Klabnik
05ee6f0709 Rollup merge of #24630 - steveklabnik:quickfix, r=alexcrichton 2015-04-20 21:15:53 -04:00
Steve Klabnik
77fee7db49 Rollup merge of #24629 - steveklabnik:gh24511, r=alexcrichton
Without the `box` keyword, one of these two reasons is not correct, so
let's just eliminate this section and elaborate on the reason for the
legit use case inline.

Fixes #24511
2015-04-20 21:15:53 -04:00
Steve Klabnik
5de4e87f27 Rollup merge of #24628 - steveklabnik:gh24173, r=alexcrichton
Fixes #24173 

These docs could all use examples, so for now, let's just remove the bad one, and when I go over this whole module I'll put in better ones.
2015-04-20 21:15:53 -04:00
Steve Klabnik
417ff8a404 Rollup merge of #24627 - steveklabnik:gh24008, r=alexcrichton
Fixes #24008.
2015-04-20 21:15:53 -04:00
Steve Klabnik
3e8d099648 Rollup merge of #24625 - frewsxcv:patch-16, r=steveklabnik
As far as I can tell, this conversion to integer to floating point does not need to happen and is beside the point
2015-04-20 21:15:53 -04:00
Steve Klabnik
81b603e7a5 Rollup merge of #24577 - steveklabnik:gh24573, r=alexcrichton
Fixes #24573
2015-04-20 21:15:52 -04:00
Steve Klabnik
ff12b7b308 Rollup merge of #24571 - steveklabnik:editing, r=alexcrichton
A bunch of chapters, fixes an issue or two as well.

r? @alexcrichton
2015-04-20 21:15:52 -04:00
Steve Klabnik
de13f95f21 Rollup merge of #24516 - steveklabnik:gh22621, r=alexcrichton
Fixes #22621
2015-04-20 21:15:52 -04:00