<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/rt/backtrace.rs, branch try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2015-09-11T18:19:20+00:00</updated>
<entry>
<title>std: Internalize almost all of `std::rt`</title>
<updated>2015-09-11T18:19:20+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-09-08T22:53:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f4be2026dfb507e5db919cc5df8fd934e05fa0b8'/>
<id>urn:sha1:f4be2026dfb507e5db919cc5df8fd934e05fa0b8</id>
<content type='text'>
This commit does some refactoring to make almost all of the `std::rt` private.
Specifically, the following items are no longer part of its API:

* DEFAULT_ERROR_CODE
* backtrace
* unwind
* args
* at_exit
* cleanup
* heap (this is just alloc::heap)
* min_stack
* util

The module is now tagged as `#[doc(hidden)]` as the only purpose it's serve is
an entry point for the `panic!` macro via the `begin_unwind` and
`begin_unwind_fmt` reexports.
</content>
</entry>
<entry>
<title>Register new snapshots</title>
<updated>2015-08-11T22:11:13+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-08-11T21:31:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=938099a7ebccbad2a2cad58d71df316d5ccd512c'/>
<id>urn:sha1:938099a7ebccbad2a2cad58d71df316d5ccd512c</id>
<content type='text'>
* Lots of core prelude imports removed
* Makefile support for MSVC env vars and Rust crates removed
* Makefile support for morestack removed
</content>
</entry>
<entry>
<title>syntax: Implement #![no_core]</title>
<updated>2015-08-04T00:23:01+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-07-30T00:01:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5cccf3cd256420d9f32c265e83036dea1d5f94d8'/>
<id>urn:sha1:5cccf3cd256420d9f32c265e83036dea1d5f94d8</id>
<content type='text'>
This commit is an implementation of [RFC 1184][rfc] which tweaks the behavior of
the `#![no_std]` attribute and adds a new `#![no_core]` attribute. The
`#![no_std]` attribute now injects `extern crate core` at the top of the crate
as well as the libcore prelude into all modules (in the same manner as the
standard library's prelude). The `#![no_core]` attribute disables both std and
core injection.

[rfc]: https://github.com/rust-lang/rfcs/pull/1184
</content>
</entry>
<entry>
<title>Use `const fn` to abstract away the contents of UnsafeCell &amp; friends.</title>
<updated>2015-05-27T08:19:03+00:00</updated>
<author>
<name>Eduard Burtescu</name>
<email>edy.burt@gmail.com</email>
</author>
<published>2015-05-27T08:18:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=377b0900aede976b2d37a499bbd7b62c2e39b358'/>
<id>urn:sha1:377b0900aede976b2d37a499bbd7b62c2e39b358</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change name of unit test sub-module to "tests".</title>
<updated>2015-04-24T21:06:41+00:00</updated>
<author>
<name>Johannes Oertel</name>
<email>johannes.oertel@uni-due.de</email>
</author>
<published>2015-04-24T15:30:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=07cc7d9960a1bc767dc051b9fae0c7ad2b5cd97f'/>
<id>urn:sha1:07cc7d9960a1bc767dc051b9fae0c7ad2b5cd97f</id>
<content type='text'>
Changes the style guidelines regarding unit tests to recommend using a
sub-module named "tests" instead of "test" for unit tests as "test"
might clash with imports of libtest.
</content>
</entry>
<entry>
<title>std: Tweak the std::env OsString/String interface</title>
<updated>2015-02-11T21:46:35+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-02-11T19:47:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a828e7948069f310dc5b33be8edb65e5e8e0cf9a'/>
<id>urn:sha1:a828e7948069f310dc5b33be8edb65e5e8e0cf9a</id>
<content type='text'>
This commit tweaks the interface of the `std::env` module to make it more
ergonomic for common usage:

* `env::var` was renamed to `env::var_os`
* `env::var_string` was renamed to `env::var`
* `env::args` was renamed to `env::args_os`
* `env::args` was re-added as a panicking iterator over string values
* `env::vars` was renamed to `env::vars_os`
* `env::vars` was re-added as a panicking iterator over string values.

This should make common usage (e.g. unicode values everywhere) more ergonomic
as well as "the default". This is also a breaking change due to the differences
of what's yielded from each of these functions, but migration should be fairly
easy as the defaults operate over `String` which is a common type to use.

[breaking-change]
</content>
</entry>
<entry>
<title>Fix Unicode name mangling</title>
<updated>2015-02-04T02:32:59+00:00</updated>
<author>
<name>P1start</name>
<email>rewi-github@whanau.org</email>
</author>
<published>2015-01-22T07:12:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cfe18fb83627859e1730d31ae9126c494077c3ba'/>
<id>urn:sha1:cfe18fb83627859e1730d31ae9126c494077c3ba</id>
<content type='text'>
`{` and `}` aren’t valid characters on ARM.

This also fixes a small bug where `)` (**r**ight **p**arenthesis) and `*`
(**r**aw **p**ointer) would both mangle to `$RP$`, making `)` show up as `*` in
backtraces.
</content>
</entry>
<entry>
<title>std: Add a new `env` module</title>
<updated>2015-02-01T19:08:15+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-01-27T20:20:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=70ed3a48dfa301c5bb56de3e0a7c25214539b83c'/>
<id>urn:sha1:70ed3a48dfa301c5bb56de3e0a7c25214539b83c</id>
<content type='text'>
This is an implementation of [RFC 578][rfc] which adds a new `std::env` module
to replace most of the functionality in the current `std::os` module. More
details can be found in the RFC itself, but as a summary the following methods
have all been deprecated:

[rfc]: https://github.com/rust-lang/rfcs/pull/578

* `os::args_as_bytes`   =&gt; `env::args`
* `os::args`            =&gt; `env::args`
* `os::consts`          =&gt; `env::consts`
* `os::dll_filename`    =&gt; no replacement, use `env::consts` directly
* `os::page_size`       =&gt; `env::page_size`
* `os::make_absolute`   =&gt; use `env::current_dir` + `join` instead
* `os::getcwd`          =&gt; `env::current_dir`
* `os::change_dir`      =&gt; `env::set_current_dir`
* `os::homedir`         =&gt; `env::home_dir`
* `os::tmpdir`          =&gt; `env::temp_dir`
* `os::join_paths`      =&gt; `env::join_paths`
* `os::split_paths`     =&gt; `env::split_paths`
* `os::self_exe_name`   =&gt; `env::current_exe`
* `os::self_exe_path`   =&gt; use `env::current_exe` + `pop`
* `os::set_exit_status` =&gt; `env::set_exit_status`
* `os::get_exit_status` =&gt; `env::get_exit_status`
* `os::env`             =&gt; `env::vars`
* `os::env_as_bytes`    =&gt; `env::vars`
* `os::getenv`          =&gt; `env::var` or `env::var_string`
* `os::getenv_as_bytes` =&gt; `env::var`
* `os::setenv`          =&gt; `env::set_var`
* `os::unsetenv`        =&gt; `env::remove_var`

Many function signatures have also been tweaked for various purposes, but the
main changes were:

* `Vec`-returning APIs now all return iterators instead
* All APIs are now centered around `OsString` instead of `Vec&lt;u8&gt;` or `String`.
  There is currently on convenience API, `env::var_string`, which can be used to
  get the value of an environment variable as a unicode `String`.

All old APIs are `#[deprecated]` in-place and will remain for some time to allow
for migrations. The semantics of the APIs have been tweaked slightly with regard
to dealing with invalid unicode (panic instead of replacement).

The new `std::env` module is all contained within the `env` feature, so crates
must add the following to access the new APIs:

    #![feature(env)]

[breaking-change]
</content>
</entry>
<entry>
<title>Rename AtomicInt and AtomicUint</title>
<updated>2015-01-11T19:47:44+00:00</updated>
<author>
<name>Steven Fackler</name>
<email>sfackler@gmail.com</email>
</author>
<published>2015-01-10T21:42:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8b6cda3ce681d4d95c3097d12ed754975b4a07f6'/>
<id>urn:sha1:8b6cda3ce681d4d95c3097d12ed754975b4a07f6</id>
<content type='text'>
Change any use of AtomicInt to AtomicIsize and AtomicUint to AtomicUsize

Closes #20893

[breaking-change]
</content>
</entry>
<entry>
<title>std: Redesign c_str and c_vec</title>
<updated>2015-01-05T16:00:13+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2014-11-25T21:28:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ec7a50d20dff416d9fec837a6492dfe244f5f3ab'/>
<id>urn:sha1:ec7a50d20dff416d9fec837a6492dfe244f5f3ab</id>
<content type='text'>
This commit is an implementation of [RFC 494][rfc] which removes the entire
`std::c_vec` module and redesigns the `std::c_str` module as `std::ffi`.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0494-c_str-and-c_vec-stability.md

The interface of the new `CString` is outlined in the linked RFC, the primary
changes being:

* The `ToCStr` trait is gone, meaning the `with_c_str` and `to_c_str` methods
  are now gone. These two methods are replaced with a `CString::from_slice`
  method.
* The `CString` type is now just a wrapper around `Vec&lt;u8&gt;` with a static
  guarantee that there is a trailing nul byte with no internal nul bytes. This
  means that `CString` now implements `Deref&lt;Target = [c_char]&gt;`, which is where
  it gains most of its methods from. A few helper methods are added to acquire a
  slice of `u8` instead of `c_char`, as well as including a slice with the
  trailing nul byte if necessary.
* All usage of non-owned `CString` values is now done via two functions inside
  of `std::ffi`, called `c_str_to_bytes` and `c_str_to_bytes_with_nul`. These
  functions are now the one method used to convert a `*const c_char` to a Rust
  slice of `u8`.

Many more details, including newly deprecated methods, can be found linked in
the RFC. This is a:

[breaking-change]
Closes #20444
</content>
</entry>
</feed>
