- 26 7月, 2014 10 次提交
-
-
由 bors 提交于
Sadly there's still a lot of open issues, but this tackles some of the more pressing ones. Each commit has its own description along with the issues it closes.
-
由 bors 提交于
Currently we don't emit lifetime end markers when translating the unwinding code. I omitted that when I added the support for lifetime intrinsics, because I initially made the mistake of just returning true in clean_on_unwind(). That caused almost all calls to be translated as invokes, leading to quite awful results. To correctly emit the lifetime end markers, we must differentiate between cleanup that requires unwinding and such cleanup that just wants to emit code during unwinding.
-
由 bors 提交于
This is super, super WIP, but I'm going to go get lunch for a while, and figured I'd toss my work up here in case anyone wants to see my work as I do it. This contains a new introductory section explaining the basics of pointers, and some pitfalls that Rust attempts to solve. I'd be interested in hearing how my explanation is, as well as if this belongs here. Pointers are such a crucial concept, I don't mind having a beginners' section on them in the main docs, even though our main audience is supposed to understand them already. Reasonable people may disagree, however.
-
由 bors 提交于
Add an example showing how to use the map with a custom type. Fill in examples for methods without ones. Also move `pop_equiv` next to related public methods, to not create a duplicate trait in the docs.
-
由 bors 提交于
-
由 bors 提交于
Adds methods for obtaining iterators over the keys or values of a SmallIntMap/TreeMap/TrieMap. Closes #14376
-
由 Alex Crichton 提交于
These were all just previously skipped. Closes #15648
-
由 Alex Crichton 提交于
Previously a `pub use` would not rename the destination in rustdoc, it would always use the destination ident instead of the renamed ident.
-
由 Alex Crichton 提交于
These are lang items now, so the internal representations need to be re-translated back to the original structures manually. Closes #15185 Closes #15800
-
由 Alex Crichton 提交于
I'm not entirely sure if the correct space can be inferred when cleaning Generics, so the impl has been switched to take the space explicitly. Closes #15099
-
- 25 7月, 2014 29 次提交
-
-
由 Alex Crichton 提交于
Apparently keypress doesn't quite work in all browsers due to some not invoking the handler and jquery not setting the right `which` field in all circumstances. According to http://stackoverflow.com/questions/2166771 switching over to `keydown` works and it appears to do the trick. Tested in Safari, Firefox, and Chrome. Closes #15011
-
由 bors 提交于
`rustc -Z borrowck-stats` displays ugly `-NaN%` in the stats ``` paths requiring guarantees: 0 paths requiring loans : 0 (-NaN%) paths requiring imm loans : 0 (-NaN%) stable paths : 0 (-NaN%) ```
-
由 Alex Crichton 提交于
Closes #14585
-
由 Randati 提交于
-
由 Alex Crichton 提交于
Closes #13893
-
由 bors 提交于
The right hand side of the comparison in these checks are values of type Option<&Path> which are normalized versions of the left-hand side, so they're not guaranteed to be byte-for-byte equivalent even though they're the same path. For this reasons, the command line arguments are promoted to paths for comparison of equality. This fixes a bug on windows where if a library was specified with --extern it would then be picked up twice because it was not considered to have been previously registered.
-
由 Björn Steinbrink 提交于
Currently we don't emit lifetime end markers when translating the unwinding code. I omitted that when I added the support for lifetime intrinsics, because I initially made the mistake of just returning true in clean_on_unwind(). That caused almost all calls to be translated as invokes, leading to quite awful results. To correctly emit the lifetime end markers, we must differentiate between cleanup that requires unwinding and such cleanup that just wants to emit code during unwinding.
-
由 bors 提交于
This add the LLVM noalias attribute to parameters of a shared reference type (&) which have a safe interior.
-
由 bors 提交于
method calls are involved. This breaks code like: impl<T:Copy> Foo for T { ... } fn take_param<T:Foo>(foo: &T) { ... } fn main() { let x = box 3i; // note no `Copy` bound take_param(&x); } Change this code to not contain a type error. For example: impl<T:Copy> Foo for T { ... } fn take_param<T:Foo>(foo: &T) { ... } fn main() { let x = 3i; // satisfies `Copy` bound take_param(&x); } Closes #15860. [breaking-change] r? @alexcrichton
-
由 Patrick Walton 提交于
method calls are involved. This breaks code like: impl<T:Copy> Foo for T { ... } fn take_param<T:Foo>(foo: &T) { ... } fn main() { let x = box 3i; // note no `Copy` bound take_param(&x); } Change this code to not contain a type error. For example: impl<T:Copy> Foo for T { ... } fn take_param<T:Foo>(foo: &T) { ... } fn main() { let x = 3i; // satisfies `Copy` bound take_param(&x); } Closes #15860. [breaking-change]
-
由 bors 提交于
This breaks code like: struct A<'a> { func: &'a fn() -> Option<int> } fn foo() -> Option<int> { ... } fn create() -> A<'static> { A { func: &foo } } Change this code to not take functions by reference. For example: struct A { func: extern "Rust" fn() -> Option<int> } fn foo() -> Option<int> { ... } fn create() -> A { A { func: foo } } Closes #13595. [breaking-change] r? @huonw
-
由 bors 提交于
The translation is based on an early version of tutorial.md, thus most of entries have been marked as fuzzy and actually they are incorrect. Now tutorial.md is planed to be replaced with guide.md, so I'd suggest removing translation files for a while. /cc @gifnksm
-
由 Alex Crichton 提交于
The right hand side of the comparison in these checks are values of type Option<&Path> which are normalized versions of the left-hand side, so they're not guaranteed to be byte-for-byte equivalent even though they're the same path. For this reasons, the command line arguments are promoted to paths for comparison of equality. This fixes a bug on windows where if a library was specified with --extern it would then be picked up twice because it was not considered to have been previously registered.
-
由 John Kåre Alsaker 提交于
This add the LLVM noalias attribute to parameters of a shared reference type (&) which have a safe interior.
-
由 nham 提交于
-
由 nham 提交于
-
由 nham 提交于
-
由 bors 提交于
librustc: Stop desugaring `for` expressions and translate them directly. This makes edge cases in which the `Iterator` trait was not in scope and/or `Option` or its variants were not in scope work properly. This breaks code that looks like: struct MyStruct { ... } impl MyStruct { fn next(&mut self) -> Option<int> { ... } } for x in MyStruct { ... } { ... } Change ad-hoc `next` methods like the above to implementations of the `Iterator` trait. For example: impl Iterator<int> for MyStruct { fn next(&mut self) -> Option<int> { ... } } Closes #15392. [breaking-change]
-
由 Patrick Walton 提交于
This makes edge cases in which the `Iterator` trait was not in scope and/or `Option` or its variants were not in scope work properly. This breaks code that looks like: struct MyStruct { ... } impl MyStruct { fn next(&mut self) -> Option<int> { ... } } for x in MyStruct { ... } { ... } Change ad-hoc `next` methods like the above to implementations of the `Iterator` trait. For example: impl Iterator<int> for MyStruct { fn next(&mut self) -> Option<int> { ... } } Closes #15392. [breaking-change]
-
由 bors 提交于
Fix ICE when there's an incorrect enum variant constructor in match arm. Closes #15896.
-
由 bors 提交于
Forgot two methods, but @alexcrichton was a bit too quick to accept #15943, so I made a new PR.
-
由 Patrick Walton 提交于
This breaks code like: struct A<'a> { func: &'a fn() -> Option<int> } fn foo() -> Option<int> { ... } fn create() -> A<'static> { A { func: &foo } } Change this code to not take functions by reference. For example: struct A { func: extern "Rust" fn() -> Option<int> } fn foo() -> Option<int> { ... } fn create() -> A { A { func: foo } } Closes #13595. [breaking-change]
-
由 OGINO Masanori 提交于
The translation is based on an early version of tutorial.md, thus most of entries have been marked as fuzzy and actually they are incorrect. Now tutorial.md is planed to be replaced with guide.md, so I'd suggest removing translation files for a while. Signed-off-by: NOGINO Masanori <masanori.ogino@gmail.com>
-
由 Falco Hirschenberger 提交于
-
由 bors 提交于
Apparently the default getFile implementation for a memory buffer in LLVM ends up requiring a null terminator at the end of the file. This isn't true a good bit of the time apparently on OSX. There have been a number of failed nightly/snapshot builds recently with this strange assertion. This modifies the calls to MemoryBuffer::getFile to explicitly not ask for a null terminator.
-
由 Alex Crichton 提交于
Apparently the default getFile implementation for a memory buffer in LLVM ends up requiring a null terminator at the end of the file. This isn't true a good bit of the time apparently on OSX. There have been a number of failed nightly/snapshot builds recently with this strange assertion. This modifies the calls to MemoryBuffer::getFile to explicitly not ask for a null terminator.
-
由 bors 提交于
Everyone agreed. Related to #14248, close #15328 @brson OK?
-
由 Edward Wang 提交于
Fix ICE when there's an incorrect enum variant constructor in match arm. Closes #15896.
-
由 bors 提交于
-
- 24 7月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
Closes #15807 (Deprecate some unsafe functions in `str::raw` and remove `OwnedStr` trait) Closes #15859 (Implement `Show` for `CString` and fix warning compiling tests for libcollections) Closes #15911 (Updated LLVM for iOS) Closes #15925 (libsyntax: Remove `~self` and `mut ~self` from the language.) Closes #15930 (Add examples for Checked[Add|Sub|Mul|Div]) Closes #15933 (rustdoc: make table of contents optional) Closes #15937 (librustc: Make bare functions implement the `FnMut` trait.) Closes #15938 (librustc: Check structure constructors against their types.) Closes #15939 (rustdoc: Add a --crate-name option) Closes #15942 (Document trie collections) Closes #15943 (Document SmallIntMap)
-