- 25 8月, 2013 1 次提交
-
-
由 Alex Crichton 提交于
-
- 09 8月, 2013 1 次提交
-
-
由 Steven Fackler 提交于
env! aborts compilation of the specified environment variable is not defined and takes an optional second argument containing a custom error message. option_env! creates an Option<&'static str> containing the value of the environment variable. There are no run-pass tests that check the behavior when the environment variable is defined since the test framework doesn't support setting environment variables at compile time as opposed to runtime. However, both env! and option_env! are used inside of rustc itself, which should act as a sufficient test. Close #2248
-
- 08 8月, 2013 1 次提交
-
-
由 Alex Crichton 提交于
The new macro is available under the name ifmt! (only an intermediate name)
-
- 07 8月, 2013 2 次提交
-
-
由 Erick Tryzelaar 提交于
-
由 Michael Woerister 提交于
-
- 06 8月, 2013 1 次提交
-
-
由 Marvin Löbel 提交于
- Made naming schemes consistent between Option, Result and Either - Changed Options Add implementation to work like the maybe monad (return None if any of the inputs is None) - Removed duplicate Option::get and renamed all related functions to use the term `unwrap` instead
-
- 02 8月, 2013 1 次提交
-
-
由 Brian Anderson 提交于
The pipes compiler produced data types that encoded efficient and safe bounded message passing protocols between two endpoints. It was also capable of producing unbounded protocols. It was useful research but was arguably done before its proper time. I am removing it for the following reasons: * In practice we used it only for producing the `oneshot` and `stream` unbounded protocols and all communication in Rust use those. * The interface between the proto! macro and the standard library has a large surface area and was difficult to maintain through language and library changes. * It is now written in an old dialect of Rust and generates code which would likely be considered non-idiomatic. * Both the compiler and the runtime are difficult to understand, and likewise the relationship between the generated code and the library is hard to understand. Debugging is difficult. * The new scheduler implements `stream` and `oneshot` by hand in a way that will be significantly easier to maintain. This shouldn't be taken as an indication that 'channel protocols' for Rust are not worth pursuing again in the future.
-
- 01 8月, 2013 1 次提交
-
-
由 Huon Wilson 提交于
Example: if cfg!(test) { calculation_to_run_only_when_testing(); }
-
- 29 7月, 2013 1 次提交
-
-
由 Michael Woerister 提交于
New naming convention for ast::{node_id, local_crate, crate_node_id, blk_check_mode, ty_field, ty_method}
-
- 24 7月, 2013 1 次提交
-
-
由 Birunthan Mohanathas 提交于
Closes #4982.
-
- 22 7月, 2013 1 次提交
-
-
由 Michael Woerister 提交于
`crate => Crate` `local => Local` `blk => Block` `crate_num => CrateNum` `crate_cfg => CrateConfig` Also, Crate and Local are not wrapped in spanned<T> anymore.
-
- 19 7月, 2013 2 次提交
-
-
由 Huon Wilson 提交于
This does a number of things, but especially dramatically reduce the number of allocations performed for operations involving attributes/ meta items: - Converts ast::meta_item & ast::attribute and other associated enums to CamelCase. - Converts several standalone functions in syntax::attr into methods, defined on two traits AttrMetaMethods & AttributeMethods. The former is common to both MetaItem and Attribute since the latter is a thin wrapper around the former. - Deletes functions that are unnecessary due to iterators. - Converts other standalone functions to use iterators and the generic AttrMetaMethods rather than allocating a lot of new vectors (e.g. the old code would have to allocate a new vector to use functions that operated on &[meta_item] on &[attribute].) - Moves the core algorithm of the #[cfg] matching to syntax::attr, similar to find_inline_attr and find_linkage_metas. This doesn't have much of an effect on the speed of #[cfg] stripping, despite hugely reducing the number of allocations performed; presumably most of the time is spent in the ast folder rather than doing attribute checks. Also fixes the Eq instance of MetaItem_ to correctly ignore spaces, so that `rustc --cfg 'foo(bar)'` now works.
-
由 Patrick Walton 提交于
This makes custom borrowing implementations for custom smart pointers sound.
-
- 18 7月, 2013 3 次提交
-
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
-
- 13 7月, 2013 1 次提交
-
-
由 Alex Crichton 提交于
-
- 07 7月, 2013 1 次提交
-
-
由 James Miller 提交于
-
- 05 7月, 2013 1 次提交
-
-
由 Seo Sanghyeon 提交于
-
- 29 6月, 2013 1 次提交
-
-
由 Ben Blum 提交于
'Borrow' stack closures rather than copying them (e.g., "|x|f(x)"), in prep for making them noncopyable.
-
- 26 6月, 2013 1 次提交
-
-
由 Corey Richardson 提交于
-
- 14 6月, 2013 1 次提交
-
-
由 Brian Anderson 提交于
This fixes the strange random crashes in compile-fail tests. This reverts commit 96cd61ad. Conflicts: src/librustc/driver/driver.rs src/libstd/str.rs src/libsyntax/ext/quote.rs
-
- 13 6月, 2013 1 次提交
-
-
由 Huon Wilson 提交于
This almost removes the StringRef wrapper, since all strings are Equiv-alent now. Removes a lot of `/* bad */ copy *`'s, and converts several things to be &'static str (the lint table and the intrinsics table). There are many instances of .to_managed(), unfortunately.
-
- 12 6月, 2013 2 次提交
-
-
由 Huon Wilson 提交于
The first acts on &str and is not nul-terminated, the last two act on strings that are always null terminated (&'static str, ~str and @str).
-
由 Huon Wilson 提交于
-
- 06 6月, 2013 6 次提交
-
-
由 John Clements 提交于
-
由 John Clements 提交于
-
由 John Clements 提交于
-
由 John Clements 提交于
-
由 John Clements 提交于
-
由 John Clements 提交于
-
- 02 6月, 2013 1 次提交
-
-
由 Patrick Walton 提交于
-
- 30 5月, 2013 1 次提交
-
-
由 Patrick Walton 提交于
-
- 23 5月, 2013 1 次提交
-
-
由 Patrick Walton 提交于
-
- 21 5月, 2013 3 次提交
-
-
由 Huon Wilson 提交于
-
由 Huon Wilson 提交于
-
由 Alex Crichton 提交于
-
- 16 5月, 2013 1 次提交
-
-
由 Sangeun Kim 提交于
-
- 15 5月, 2013 2 次提交
-
-
由 Lenny222 提交于
-
由 Youngmin Yoo 提交于
-