- 01 10月, 2013 5 次提交
-
-
由 Felix S. Klock II 提交于
-
由 Felix S. Klock II 提交于
-
由 Felix S. Klock II 提交于
-
由 Felix S. Klock II 提交于
about constants that are (non-trivial) paths rather than just identifiers, regardless of what case their characters are.
-
由 Felix S. Klock II 提交于
This tries to warn about code like: ```rust match (0,0) { (0, aha) => { ... }, ... } ``` where `aha` is actually a static constant, not a binding.
-
- 30 9月, 2013 13 次提交
-
-
由 bors 提交于
-
由 bors 提交于
Closes #8815.
-
由 bors 提交于
Cleanup in middle::lang_items Use static string keys in the lang item hashmap, and convert the traversal function to be an iterator.
-
由 Jason Toffaletti 提交于
-
由 klutzy 提交于
Closes #8815.
-
由 blake2-ppc 提交于
-
由 blake2-ppc 提交于
-
由 bors 提交于
This patch exposes actual ownership of an `ast::Crate` structure so it's not implicitly copied and reference counted via `@`. The main purpose for this patch was to get rid of the massive spike in memory during the start of the compiler (this can be seen on isrustfastyet). The reason that this spike exists is that during `phase_2` we're creating many copies of the crate by folding. Because these are reference counted, all instances of the old crates aren't dropped until the end of the function, which is why so much memory is accumulated. This patch exposes true ownership of the crate, meaning that it will be destroyed ASAP when requested. There are no code changes except for dealing with actual ownership of the crate. The large spike is then avoided: http://i.imgur.com/IO3NENy.png This shouldn't help our overall memory usage (that still is the highest at the end), but if we ever manage to bring that down it should help us not have a 1GB spike at the beginning of compilation. (This was to un-stuck bors (hopefully).)
-
由 bors 提交于
Forgot to do this when I was refactoring logging :(
-
由 Alex Crichton 提交于
-
由 Alex Crichton 提交于
This help enable some later refactorings.
-
由 bors 提交于
Previously, if tests failed, you'd only get stderr which isn't very useful, especially if the failure didn't happen directly in a test function (e.g None.unwrap()).
-
由 Alex Crichton 提交于
-
- 29 9月, 2013 6 次提交
-
-
由 Steven Fackler 提交于
Previously, if tests failed, you'd only get stderr which isn't very useful, especially if the failure didn't happen directly in a test function (e.g None.unwrap()).
-
由 bors 提交于
-
由 bors 提交于
r? strcat (please double check that it fixes things on your chroot, if possible, before approval) Fix #9531
-
由 Daniel Micay 提交于
-
由 bors 提交于
They're getting smaller each time though! The highlight of this round is source files in documentation. Still trying to figure out the best syntax-highlighting solution.
-
由 Alex Crichton 提交于
This removes the internal type representation of an `External` type and instead relies on passing around DefId structures and interpreting them accordingly. Progress on #9539, but there's still the problem of a crate => url mapping.
-
- 28 9月, 2013 16 次提交
-
-
由 bors 提交于
std::vec: Sane implementations for connect_vec and concat_vec Avoid unnecessary copying of subvectors, and calculate the needed space beforehand. These implementations are simple but better than the previous. Also only implement it once, for all `Vector<T>` using: impl<'self, T: Clone, V: Vector<T>> VectorVector<T> for &'self [V] Closes #9581
-
由 bors 提交于
change formula (other solution could be using abs()).
-
由 bors 提交于
Small change that suppresses a warning because of an unused import.
-
由 bors 提交于
-
由 blake2-ppc 提交于
std::vec::{concat, connect, concat_slices, connect_slices} are replaced by the already existing trait methods .concat_vec() and .connect_vec().
-
由 bors 提交于
-
由 blake2-ppc 提交于
Avoid unnecessary copying of subvectors, and calculate the needed space beforehand. These implementations are simple but better than the previous. Also only implement it once, for all `Vector<T>` using: impl<'self, T: Clone, V: Vector<T>> VectorVector<T> for &'self [V] performance improved according to the bench test: before test vec::bench::concat ... bench: 74818 ns/iter (+/- 408) test vec::bench::connect ... bench: 87066 ns/iter (+/- 376) after test vec::bench::concat ... bench: 17724 ns/iter (+/- 126) test vec::bench::connect ... bench: 18353 ns/iter (+/- 691) Closes #9581
-
由 blake2-ppc 提交于
-
由 bors 提交于
std::vec: Use a valid value as lifetime dummy in iterator The current implementation uses `&v[0]` for the lifetime struct field, but that is a dangling pointer for iterators derived from zero-length slices. Example: let v: [int, ..0] = []; println!("{:?}", v.iter()) std::vec::VecIterator<,int>{ptr: (0x7f3768626100 as *()), end: (0x7f3768626100 as *()), lifetime: &139875951207128} To replace this parameter, use a field of type `Option<&'self ()>` that is simply initialized with `None`, but still allows the iterator to have a lifetime parameter.
-
由 bors 提交于
Instead use &mut everywhere as much as possible and then reorganize lots of code to get past the borrow checker.
-
由 Alex Crichton 提交于
-
由 Alex Crichton 提交于
All items have source links back to their actual code. Source files can be omitted with the doc(html_no_source) attribute on the crate. Currently there is no syntax highlighting, but that will come with syntax highlighting with all other snippets. Closes #2072
-
由 bors 提交于
-
由 bors 提交于
-
由 Flavio Percoco 提交于
-
由 bors 提交于
r? @metajack Towards #7401
-