- 26 7月, 2014 20 次提交
-
-
由 bors 提交于
SmallIntMap doesn't involve hashing?
-
由 bors 提交于
matching. This breaks code like: struct Foo<'a,'b> { x: &'a int, y: &'b int, } trait Tr { fn foo(x: Self) {} } impl<'a,'b> Tr for Foo<'a,'b> { fn foo(x: Foo<'b,'a>) {} // <-- bad } Change this code to not contain a lifetime mismatch error. For example: struct Foo<'a,'b> { x: &'a int, y: &'b int, } trait Tr { fn foo(x: Self) {} } impl<'a,'b> Tr for Foo<'a,'b> { fn foo(x: Foo<'a,'b>) {} // OK } Closes #15517. [breaking-change] r? @alexcrichton
-
由 bors 提交于
Add `check-secondary`, which runs the pretty and lexer tests so we can run them on a dedicated bot. Leaves the pretty tests running under `check` until the bots are switched over. Also fixes some issues. r? @cmr
-
由 bors 提交于
Rename and gensym the runtime on import, so that users can't refer to the `native` crate. This is unlikely to break code, but users should import the "native" crate directly. [breaking-change] cc @alexcrichton
-
由 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.
-
由 nham 提交于
-
由 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.
-
由 Brian Anderson 提交于
-
由 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.
-
由 Patrick Walton 提交于
matching. This breaks code like: struct Foo<'a,'b> { x: &'a int, y: &'b int, } trait Tr { fn foo(x: Self) {} } impl<'a,'b> Tr for Foo<'a,'b> { fn foo(x: Foo<'b,'a>) {} // <-- bad } Change this code to not contain a lifetime mismatch error. For example: struct Foo<'a,'b> { x: &'a int, y: &'b int, } trait Tr { fn foo(x: Self) {} } impl<'a,'b> Tr for Foo<'a,'b> { fn foo(x: Foo<'a,'b>) {} // OK } Closes #15517. [breaking-change]
-
由 Brian Anderson 提交于
-
由 Brian Anderson 提交于
This appears to be redundantly named with a shortcut target for testing the syntax crate.
-
由 Brian Anderson 提交于
Rename and gensym the runtime on import, so that users can't refer to the `native` crate. This is unlikely to break code, but users should import the "native" crate directly. [breaking-change]
-
由 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 20 次提交
-
-
由 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 提交于
-
由 Brian Anderson 提交于
Invoke rustc in a way that sets LD_LIBRARY_PATH, and disable the deps on RustLexer.class when antlr isn't available.
-
由 Brian Anderson 提交于
-
由 Brian Anderson 提交于
We'll use this to run a subset of the test suite onto a dedicated bot. This puts the grammar tests and the pretty-printer tests under check-secondary. It leanves the pretty tests under plain `check` for now, until the new bot is added to take over. Because check-secondary is not run as part of `make check` there will be a set of tests that most users never run and are only checked by bors. I think this will be ok because grammar tests should rarely regress, and the people regressing such tests should have the fortitude to deal with it.
-
由 nham 提交于
-