Commit Graph

27 Commits

Author SHA1 Message Date
Alex Crichton 817576ee70 Register new snapshots 2013-09-18 11:07:22 -07:00
Marvin Löbel 76c3e8a38c Add an SendStr type
A SendStr is a string that can hold either a ~str or a &'static str.
This can be useful as an optimization when an allocation is sometimes needed but the common case is statically known.

Possible use cases include Maps with both static and owned keys, or propagating error messages across task boundaries.

SendStr implements most basic traits in a way that hides the fact that it is an enum; in particular things like order and equality are only determined by the content of the wrapped strings.

Replaced std::rt:logging::SendableString with SendStr
Added tests for using an SendStr as key in Hash- and Treemaps
2013-09-16 16:57:50 +02:00
bors 059cbaadfa auto merge of #9005 : alexcrichton/rust/rusty-log, r=brson
Also redefine all of the standard logging macros to use more rust code instead
of custom LLVM translation code. This makes them a bit easier to understand, but
also more flexibile for future types of logging.

Additionally, this commit removes the LogType language item in preparation for
changing how logging is performed.
2013-09-09 10:41:05 -07:00
Daniel Micay 6919cf5fe1 rename `std::iterator` to `std::iter`
The trait will keep the `Iterator` naming, but a more concise module
name makes using the free functions less verbose. The module will define
iterables in addition to iterators, as it deals with iteration in
general.
2013-09-09 03:21:46 -04:00
Alex Crichton 8a966183fe Remove the __log function for __log_level
Also redefine all of the standard logging macros to use more rust code instead
of custom LLVM translation code. This makes them a bit easier to understand, but
also more flexibile for future types of logging.

Additionally, this commit removes the LogType language item in preparation for
changing how logging is performed.
2013-09-05 01:48:20 -07:00
bors f94844c558 auto merge of #8820 : alexcrichton/rust/no-io-writer, r=brson
At the same time, this updates the TyVisitor to use a mutable self because it's
probably going to be mutating state as it goes along anyway.
2013-08-30 01:20:44 -07:00
Alex Crichton 97f61e7bbe Remove @io::Writer from sys/repr/reflect
At the same time, this updates the TyVisitor to use a mutable self because it's
probably going to be mutating state as it goes along anyway.
2013-08-28 23:00:46 -07:00
Jason Fager dc30005ad8 Remove the iter module.
Moves the Times trait to num while the question of whether it should
exist at all gets hashed out as a completely separate question.
2013-08-29 01:27:24 -04:00
Corey Richardson 87d9d37c07 Add a Default trait. 2013-08-26 19:25:53 -04:00
Tim Chevalier 5da4b4d928 std/extra: changing XXX to FIXME; cleanup
* Get rid of by-value-self workarounds; it works now
* Remove type annotations, they're not needed anymore
2013-08-21 17:17:41 -07:00
Niko Matsakis 0479d946c8 Add externfn macro and correctly label fixed_stack_segments 2013-08-19 07:13:15 -04:00
Marvin Löbel a00becd0eb Methodyfied the string ascii extionsion functions
Added into_owned() method for vectors
Added DoubleEnded Iterator impl to Option
Renamed nil.rs to unit.rs
2013-08-14 14:48:25 +02:00
Ben Blum c8c09d40fc Reorganise Select traits to not expose internal runtime types. Close #5160. Pending #8215. 2013-08-12 13:54:21 -04:00
bors 60f5011005 auto merge of #8296 : erickt/rust/remove-str-trailing-nulls, r=erickt
This PR fixes #7235 and #3371, which removes trailing nulls from `str` types. Instead, it replaces the creation of c strings with a new type, `std::c_str::CString`, which wraps a malloced byte array, and respects:

*  No interior nulls
* Ends with a trailing null
2013-08-09 21:56:17 -07:00
Brian Anderson b75915d0ca Remove the C++ runtime. Sayonara 2013-08-09 16:45:50 -07:00
Erick Tryzelaar 56730c094c Merge remote-tracking branch 'remotes/origin/master' into remove-str-trailing-nulls 2013-08-08 19:27:03 -07:00
Alex Crichton ffb670ffcd Add initial support for a new formatting syntax
The new macro is available under the name ifmt! (only an intermediate name)
2013-08-07 19:21:43 -07:00
Erick Tryzelaar 8567611adf Merge commit 'd89ff7eef969aee6b493bc846b64d68358fafbcd' into remove-str-trailing-nulls 2013-08-06 16:18:58 -07:00
Erick Tryzelaar 3102b1797e std: replace str::as_c_str with std::c_str 2013-08-04 14:13:17 -07:00
Brian Anderson ea84c1fd69 std: Remove gc and stackwalk
These are both obsoleted by the forthcoming new GC.
2013-08-03 23:39:04 -07:00
OGINO Masanori 8d654fc41d Remove unnecessary #[path = "***/mod.rs"] lines.
Fixes #7922.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2013-07-27 15:53:30 +09:00
Graydon Hoare 786318f61b std: add #[cfg(test)] reference to extra so we can benchmark libstd. 2013-07-22 16:56:10 -07:00
Brian Anderson ddd8c156c6 std: Remove old magic core mod 2013-07-19 21:01:24 -04:00
Alex Crichton 9fd2ac7428 Make TLS keys actually take up space
If the TLS key is 0-sized, then the linux linker is apparently smart enough to
put everything at the same pointer. OSX on the other hand, will reserve some
space for all of them. To get around this, the TLS key now actuall consumes
space to ensure that it gets a unique pointer
2013-07-14 10:15:07 -07:00
Brian Anderson b0a9d8193f Bump version numbers to 0.8-pre 2013-07-08 10:25:45 -07:00
Brian Anderson a766a955a9 Bump version from 0.7-pre to 0.7 2013-06-30 16:36:48 -07:00
Alex Crichton 42b44b21b1 Rename all files with the 'rc' extension 2013-06-25 08:55:15 -07:00