<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/os/openbsd, branch 1.24.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.24.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.24.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2016-06-23T21:08:11+00:00</updated>
<entry>
<title>std: Fix up stabilization discrepancies</title>
<updated>2016-06-23T21:08:11+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-06-21T17:14:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c3e8c178abe08c3427046490242ddb9eb3704b03'/>
<id>urn:sha1:c3e8c178abe08c3427046490242ddb9eb3704b03</id>
<content type='text'>
* Remove the deprecated `CharRange` type which was forgotten to be removed
  awhile back.
* Stabilize the `os::$platform::raw::pthread_t` type which was intended to be
  stabilized as part of #32804
</content>
</entry>
<entry>
<title>polish `std::os::*::raw` deprecation on openbsd</title>
<updated>2016-02-14T11:03:46+00:00</updated>
<author>
<name>Sébastien Marie</name>
<email>semarie@users.noreply.github.com</email>
</author>
<published>2016-02-14T11:03:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3c5f2f71ca523e8242915ea86e51bf098b11533c'/>
<id>urn:sha1:3c5f2f71ca523e8242915ea86e51bf098b11533c</id>
<content type='text'>
remove unused import that cause an error at compile-time.
</content>
</entry>
<entry>
<title>std: Deprecate all std::os::*::raw types</title>
<updated>2016-02-13T22:42:55+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2016-02-05T01:16:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=aa23c98450063992473d40d707273903f8a3937d'/>
<id>urn:sha1:aa23c98450063992473d40d707273903f8a3937d</id>
<content type='text'>
This commit is an implementation of [RFC 1415][rfc] which deprecates all types
in the `std::os::*::raw` modules.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1415-trim-std-os.md

Many of the types in these modules don't actually have a canonical platform
representation, for example the definition of `stat` on 32-bit Linux will change
depending on whether C code is compiled with LFS support or not. Unfortunately
the current types in `std::os::*::raw` are billed as "compatible with C", which
in light of this means it isn't really possible.

To make matters worse, platforms like Android sometimes define these types as
*smaller* than the way they're actually represented in the `stat` structure
itself. This means that when methods like `DirEntry::ino` are called on Android
the result may be truncated as we're tied to returning a `ino_t` type, not the
underlying type.

The commit here incorporates two backwards-compatible components:

* Deprecate all `raw` types that aren't in `std::os::raw`
* Expand the `std::os::*::fs::MetadataExt` trait on all platforms for method
  accessors of all fields. The fields now returned widened types which are the
  same across platforms (consistency across platforms is not required, however,
  it's just convenient).

and two also backwards-incompatible components:

* Change the definition of all `std::os::*::raw` type aliases to
  correspond to the newly widened types that are being returned on each
  platform.
* Change the definition of `std::os::*::raw::stat` on Linux to match the LFS
  definitions rather than the standard ones.

The breaking changes here will specifically break code that assumes that `libc`
and `std` agree on the definition of `std::os::*::raw` types, or that the `std`
types are faithful representations of the types in C. An [audit] has been
performed of crates.io to determine the fallout which was determined two be
minimal, with the two found cases of breakage having been fixed now.

[audit]: https://github.com/rust-lang/rfcs/pull/1415#issuecomment-180645582

---

Ok, so after all that, we're finally able to support LFS on Linux! This commit
then simultaneously starts using `stat64` and friends on Linux to ensure that we
can open &gt;4GB files on 32-bit Linux. Yay!

Closes #28978
Closes #30050
Closes #31549
</content>
</entry>
<entry>
<title>update blksize_t in raw to reflect libc change under openbsd</title>
<updated>2016-01-14T19:15:19+00:00</updated>
<author>
<name>Sébastien Marie</name>
<email>semarie@users.noreply.github.com</email>
</author>
<published>2016-01-14T19:15:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b1d8554698cd0edba35c4b7b551d15e30e7c37d8'/>
<id>urn:sha1:b1d8554698cd0edba35c4b7b551d15e30e7c37d8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add JoinHandleExt to get the pthread_t on unix platforms</title>
<updated>2015-12-05T01:09:32+00:00</updated>
<author>
<name>Peter Atashian</name>
<email>retep998@gmail.com</email>
</author>
<published>2015-12-04T02:58:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9749a193d629dd723562004879bca3e2d47e25a1'/>
<id>urn:sha1:9749a193d629dd723562004879bca3e2d47e25a1</id>
<content type='text'>
Signed-off-by: Peter Atashian &lt;retep998@gmail.com&gt;
</content>
</entry>
<entry>
<title>Fix buildbot failures</title>
<updated>2015-11-18T18:16:20+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2015-11-18T18:16:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=64b90f81c3ec2cf5564ed8456d836516491b9d01'/>
<id>urn:sha1:64b90f81c3ec2cf5564ed8456d836516491b9d01</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make the Metadata struct Clone</title>
<updated>2015-10-13T12:06:00+00:00</updated>
<author>
<name>Ben S</name>
<email>ogham@bsago.me</email>
</author>
<published>2015-10-13T12:06:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b40163beb925b176fdb570e4f4998ab9919e77a4'/>
<id>urn:sha1:b40163beb925b176fdb570e4f4998ab9919e77a4</id>
<content type='text'>
This commit adds #[derive(Clone)] to std::fs::Metadata, making that struct
cloneable. Although the exact contents of that struct differ between OSes,
they all have it contain only value types, meaning that the data can be re-used without repercussions.

It also adds #[derive(Clone)] to every type used by that struct across all
OSes, including the various Unix `stat` structs and Windows's
`WIN32_FILE_ATTRIBUTE_DATA`.
</content>
</entry>
<entry>
<title>std: Stabilize a number of new fs features</title>
<updated>2015-06-10T00:44:13+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-05-27T23:29:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ec68c4a8351e65ec6e2d349aa103a457494ad814'/>
<id>urn:sha1:ec68c4a8351e65ec6e2d349aa103a457494ad814</id>
<content type='text'>
This commit stabilizes the following APIs, slating them all to be cherry-picked
into the 1.1 release.

* fs::FileType (and transitively the derived trait implementations)
* fs::Metadata::file_type
* fs::FileType::is_dir
* fs::FileType::is_file
* fs::FileType::is_symlink
* fs::DirEntry::metadata
* fs::DirEntry::file_type
* fs::DirEntry::file_name
* fs::set_permissions
* fs::symlink_metadata
* os::raw::{self, *}
* os::{android, bitrig, linux, ...}::raw::{self, *}
* os::{android, bitrig, linux, ...}::fs::MetadataExt
* os::{android, bitrig, linux, ...}::fs::MetadataExt::as_raw_stat
* os::unix::fs::PermissionsExt
* os::unix::fs::PermissionsExt::mode
* os::unix::fs::PermissionsExt::set_mode
* os::unix::fs::PermissionsExt::from_mode
* os::unix::fs::OpenOptionsExt
* os::unix::fs::OpenOptionsExt::mode
* os::unix::fs::DirEntryExt
* os::unix::fs::DirEntryExt::ino
* os::windows::fs::MetadataExt
* os::windows::fs::MetadataExt::file_attributes
* os::windows::fs::MetadataExt::creation_time
* os::windows::fs::MetadataExt::last_access_time
* os::windows::fs::MetadataExt::last_write_time
* os::windows::fs::MetadataExt::file_size

The `os::unix::fs::Metadata` structure was also removed entirely, moving all of
its associated methods into the `os::unix::fs::MetadataExt` trait instead. The
methods are all marked as `#[stable]` still.

As some minor cleanup, some deprecated and unstable fs apis were also removed:

* File::path
* Metadata::accessed
* Metadata::modified

Features that were explicitly left unstable include:

* fs::WalkDir - the semantics of this were not considered in the recent fs
  expansion RFC.
* fs::DirBuilder - it's still not 100% clear if the naming is right here and if
  the set of functionality exposed is appropriate.
* fs::canonicalize - the implementation on Windows here is specifically in
  question as it always returns a verbatim path. Additionally the Unix
  implementation is susceptible to buffer overflows on long paths unfortunately.
* fs::PathExt - as this is just a convenience trait, it is not stabilized at
  this time.
* fs::set_file_times - this funciton is still waiting on a time abstraction.
</content>
</entry>
<entry>
<title>std: Rename sys::foo2 modules to sys::foo</title>
<updated>2015-05-07T16:30:00+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-05-05T23:35:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=377b1adc36af65ed79be2b79a4e1caf240fc457a'/>
<id>urn:sha1:377b1adc36af65ed79be2b79a4e1caf240fc457a</id>
<content type='text'>
Now that `std::old_io` has been removed for quite some time the naming real
estate here has opened up to allow these modules to move back to their proper
names.
</content>
</entry>
<entry>
<title>remove denied unused import: pid_t in raw</title>
<updated>2015-04-30T15:26:53+00:00</updated>
<author>
<name>Sébastien Marie</name>
<email>semarie@users.noreply.github.com</email>
</author>
<published>2015-04-30T15:26:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=27bcd2ebc75b45b3c1afc6cc67ce652b7fdca2e6'/>
<id>urn:sha1:27bcd2ebc75b45b3c1afc6cc67ce652b7fdca2e6</id>
<content type='text'>
- unbreak the build under openbsd
- while here, apply same modification to dragonfly, freebsd, ios (pid_t
  imported, but not used in raw.rs)
</content>
</entry>
</feed>
