about summary refs log tree commit diff
path: root/src/libstd/path.rs
AgeCommit message (Collapse)AuthorLines
2015-05-25Auto merge of #25736 - tshepang:path-nits, r=steveklabnikbors-3/+3
2015-05-23doc: fix Windows test failureTshepang Lekhonkhobe-2/+2
2015-05-23path: make this bit follow idiomTshepang Lekhonkhobe-1/+1
2015-05-23doc: missing wordsTshepang Lekhonkhobe-2/+2
2015-05-21doc: miscellaneous improvements to std::path::Path examplesTshepang Lekhonkhobe-38/+40
2015-05-16libstd: Path docs: `file` is now `file_name`Ryman-2/+2
2015-05-11Rollup merge of #25278 - cpjreynolds:path-doc, r=alexcrichtonSteve Klabnik-1/+1
Change from "must be used with behind a pointer" to "must be used behind a pointer"
2015-05-11docs: Clarify Path::starts_with (and ends_with)Ulrik Sverdrup-0/+6
Fixes #24882
2015-05-10Fix grammar in path::Path documentationCole Reynolds-1/+1
Change from "must be used with behind a pointer" to "must be used behind a pointer"
2015-05-04Fix spelling errors in documentation.Joseph Crail-1/+1
2015-04-25add import (fixup #24649)Manish Goregaokar-0/+2
2015-04-25Rollup merge of #24649 - nham:path_new_examples, r=steveklabnikManish Goregaokar-0/+8
2015-04-21rollup merge of #24636: alexcrichton/remove-deprecatedAlex Crichton-33/+1
Conflicts: src/libcore/result.rs
2015-04-21rollup merge of #24541: alexcrichton/issue-24538Alex Crichton-1/+1
This is an implementation of [RFC 1030][rfc] which adds these traits to the prelude and additionally removes all inherent `into_iter` methods on collections in favor of the trait implementation (which is now accessible by default). [rfc]: https://github.com/rust-lang/rfcs/pull/1030 This is technically a breaking change due to the prelude additions and removal of inherent methods, but it is expected that essentially no code breaks in practice. [breaking-change] Closes #24538
2015-04-21std: Remove deprecated/unstable num functionalityAlex Crichton-1/+1
This commit removes all the old casting/generic traits from `std::num` that are no longer in use by the standard library. This additionally removes the old `strconv` module which has not seen much use in quite a long time. All generic functionality has been supplanted with traits in the `num` crate and the `strconv` module is supplanted with the [rust-strconv crate][rust-strconv]. [rust-strconv]: https://github.com/lifthrasiir/rust-strconv This is a breaking change due to the removal of these deprecated crates, and the alternative crates are listed above. [breaking-change]
2015-04-21std: Remove deprecated AsPath traitAlex Crichton-32/+0
2015-04-21Separate code into two code blocksNick Hamann-3/+4
2015-04-20Address some nitsNick Hamann-2/+2
2015-04-20Add two examples for Path::newNick Hamann-0/+7
2015-04-19Fix typos in code commentsCorey Farwell-2/+2
2015-04-17std: Add Default/IntoIterator/ToOwned to the preludeAlex Crichton-1/+1
This is an implementation of [RFC 1030][rfc] which adds these traits to the prelude and additionally removes all inherent `into_iter` methods on collections in favor of the trait implementation (which is now accessible by default). [rfc]: https://github.com/rust-lang/rfcs/pull/1030 This is technically a breaking change due to the prelude additions and removal of inherent methods, but it is expected that essentially no code breaks in practice. [breaking-change] Closes #24538
2015-04-14Negative case of `len()` -> `is_empty()`Tamir Duberstein-5/+5
`s/([^\(\s]+\.)len\(\) [(?:!=)>] 0/!$1is_empty()/g`
2015-04-14Test fixes and rebase conflictsAlex Crichton-1/+1
2015-04-14rollup merge of #24377: apasel422/docsAlex Crichton-16/+16
Conflicts: src/libstd/net/ip.rs src/libstd/sys/unix/fs.rs src/libstd/sys/unix/mod.rs src/libstd/sys/windows/mod.rs
2015-04-13pluralize doc comment verbs and add missing periodsAndrew Paseltiner-16/+16
2015-04-12Fixed with_extension documentation bugTheo Belaire-1/+2
It was mistakenly calling it with "foo.txt" instead of "txt". I've also added an assert.
2015-04-01rollup merge of #23951: alexcrichton/splitnAlex Crichton-1/+1
This commit is an implementation of [RFC 979][rfc] which changes the meaning of the count parameter to the `splitn` function on strings and slices. The parameter now means the number of items that are returned from the iterator, not the number of splits that are made. [rfc]: https://github.com/rust-lang/rfcs/pull/979 Closes #23911 [breaking-change]
2015-04-01std: Changing the meaning of the count to splitnAlex Crichton-1/+1
This commit is an implementation of [RFC 979][rfc] which changes the meaning of the count parameter to the `splitn` function on strings and slices. The parameter now means the number of items that are returned from the iterator, not the number of splits that are made. [rfc]: https://github.com/rust-lang/rfcs/pull/979 Closes #23911 [breaking-change]
2015-04-02Rollup merge of #23932 - steveklabnik:doc_std_path, r=flaper87Manish Goregaokar-0/+213
2015-04-01Add examples + documentation for std::pathSteve Klabnik-0/+213
2015-03-31rollup merge of #23873: alexcrichton/remove-deprecatedAlex Crichton-1/+1
Conflicts: src/libcollectionstest/fmt.rs src/libcollectionstest/lib.rs src/libcollectionstest/str.rs src/libcore/error.rs src/libstd/fs.rs src/libstd/io/cursor.rs src/libstd/os.rs src/libstd/process.rs src/libtest/lib.rs src/test/run-pass-fulldeps/compiler-calls.rs
2015-03-31std: Clean out #[deprecated] APIsAlex Crichton-1/+1
This commit cleans out a large amount of deprecated APIs from the standard library and some of the facade crates as well, updating all users in the compiler and in tests as it goes along.
2015-03-31Stabilize `std::convert` and related codeAaron Turon-6/+9
* Marks `#[stable]` the contents of the `std::convert` module. * Added methods `PathBuf::as_path`, `OsString::as_os_str`, `String::as_str`, `Vec::{as_slice, as_mut_slice}`. * Deprecates `OsStr::from_str` in favor of a new, stable, and more general `OsStr::new`. * Adds unstable methods `OsString::from_bytes` and `OsStr::{to_bytes, to_cstring}` for ergonomic FFI usage. [breaking-change]
2015-03-26Revise use of conversion traitsAaron Turon-34/+6
This commit revises `path` and `os_str` to use blanket impls for `From` on reference types. This both cuts down on the number of required impls, and means that you can pass through e.g. `T: AsRef<OsStr>` to `PathBuf::from` without an intermediate call to `as_ref`. It also makes a FIXME note for later generalizing the blanket impls for `AsRef` and `AsMut` to use `Deref`/`DerefMut`, once it is possible to do so.
2015-03-23Test fixes and rebase conflicts, round 2Alex Crichton-10/+13
2015-03-23rollup merge of #23538: aturon/conversionAlex Crichton-27/+173
Conflicts: src/librustc_back/rpath.rs
2015-03-23Add generic conversion traitsAaron Turon-27/+173
This commit: * Introduces `std::convert`, providing an implementation of RFC 529. * Deprecates the `AsPath`, `AsOsStr`, and `IntoBytes` traits, all in favor of the corresponding generic conversion traits. Consequently, various IO APIs now take `AsRef<Path>` rather than `AsPath`, and so on. Since the types provided by `std` implement both traits, this should cause relatively little breakage. * Deprecates many `from_foo` constructors in favor of `from`. * Changes `PathBuf::new` to take no argument (creating an empty buffer, as per convention). The previous behavior is now available as `PathBuf::from`. * De-stabilizes `IntoCow`. It's not clear whether we need this separate trait. Closes #22751 Closes #14433 [breaking-change]
2015-03-23Clarify behavior of Path::relative_fromBrian Anderson-0/+3
2015-03-18Register new snapshotsAlex Crichton-2/+0
2015-03-17Rollup merge of #23329 - jbcrail:rm-syntax-highlight, r=sanxiynManish Goregaokar-4/+4
As suggested by @steveklabnik in #23254, I removed the redundant Rust syntax highlighting from the documentation.
2015-03-16impl charJorge Aparicio-0/+1
2015-03-15Auto merge of #23387 - Manishearth:rollup, r=Manishearthbors-2/+2
- Successful merges: #23375, #23379, #23382, #23384 - Failed merges:
2015-03-14std: Remove ?Sized bounds from many I/O functionsAlex Crichton-13/+13
It is a frequent pattern among I/O functions to take `P: AsPath + ?Sized` or `AsOsStr` instead of `AsPath`. Most of these functions do not need to take ownership of their argument, but for libraries in general it's much more ergonomic to not deal with `?Sized` at all and simply require an argument `P` instead of `&P`. This change is aimed at removing unsightly `?Sized` bounds while retaining the same level of usability as before. All affected functions now take ownership of their arguments instead of taking them by reference, but due to the forwarding implementations of `AsOsStr` and `AsPath` all code should continue to work as it did before. This is strictly speaking a breaking change due to the signatures of these functions changing, but normal idiomatic usage of these APIs should not break in practice. [breaking-change]
2015-03-15fix typosFuGangqiang-2/+2
2015-03-13Remove explicit syntax highlight from docs.Joseph Crail-4/+4
2015-03-13Auto merge of #23229 - aturon:stab-path, r=alexcrichtonbors-273/+354
This commit stabilizes essentially all of the new `std::path` API. The API itself is changed in a couple of ways (which brings it in closer alignment with the RFC): * `.` components are now normalized away, unless they appear at the start of a path. This in turn effects the semantics of e.g. asking for the file name of `foo/` or `foo/.`, both of which yield `Some("foo")` now. This semantics is what the original RFC specified, and is also desirable given early experience rolling out the new API. * The `parent` method is now `without_file` and succeeds if, and only if, `file_name` is `Some(_)`. That means, in particular, that it fails for a path like `foo/../`. This change affects `pop` as well. In addition, the `old_path` module is now deprecated. [breaking-change] r? @alexcrichton
2015-03-12Stabilize std::pathAaron Turon-273/+354
This commit stabilizes essentially all of the new `std::path` API. The API itself is changed in a couple of ways (which brings it in closer alignment with the RFC): * `.` components are now normalized away, unless they appear at the start of a path. This in turn effects the semantics of e.g. asking for the file name of `foo/` or `foo/.`, both of which yield `Some("foo")` now. This semantics is what the original RFC specified, and is also desirable given early experience rolling out the new API. * The `parent` function now succeeds if, and only if, the path has at least one non-root/prefix component. This change affects `pop` as well. * The `Prefix` component now involves a separate `PrefixComponent` struct, to better allow for keeping both parsed and unparsed prefix data. In addition, the `old_path` module is now deprecated. Closes #23264 [breaking-change]
2015-03-11Example -> ExamplesSteve Klabnik-2/+2
This brings comments in line with https://github.com/rust-lang/rfcs/blob/master/text/0505-api-comment-conventions.md#using-markdown
2015-03-06rollup merge of #22975: alexcrichton/stabilize-ffiAlex Crichton-4/+4
Conflicts: src/librustc_trans/back/link.rs src/librustc_trans/lib.rs
2015-03-06Rollup merge of #23096 - posborne:paths-documentation-grammar-fix, r=huonwManish Goregaokar-1/+1