- 28 8月, 2013 18 次提交
-
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
This removes the stacking of type parameters that occurs when invoking trait methods, and fixes all places in the standard library that were relying on it. It is somewhat awkward in places; I think we'll probably want something like the `Foo::<for T>::new()` syntax.
-
由 Patrick Walton 提交于
For example, `foo::<T>::bar::<U>`. This doesn't enforce that the type parameters are in the right positions, however.
-
由 Patrick Walton 提交于
They are still present as part of the borrow check.
-
由 bors 提交于
Fixes for #8625 to prevent assigning to `&mut` in borrowed or aliasable locations. The old code was insufficient in that it failed to catch bizarre cases like `& &mut &mut`. r? @pnkfelix
-
由 bors 提交于
`target_library_in_workspace` is imported but unused: ~/rust/src/librustpkg/tests.rs:21:48: 21:75 warning: unused import [-W unused-imports (default)]
-
由 bors 提交于
-
由 Niko Matsakis 提交于
-
由 Daniel Micay 提交于
-
由 Daniel Micay 提交于
-
由 Daniel Micay 提交于
-
由 bors 提交于
`UnsafeAtomicRcBox` → `UnsafeArc` (#7674), and `AtomicRcBoxData` → `ArcData` to reflect this. Also, the inner pointer of `UnsafeArc` is now `*mut ArcData`, which avoids some transmutes to `~`: i.e. less chance of mistakes.
-
由 Niko Matsakis 提交于
-
由 bors 提交于
As for now, rekillable is an unsafe function, instead, it should behave just like unkillable by encapsulating unsafe code within an unsafe block. This patch does that and removes unsafe blocks that were encapsulating rekillable calls throughout rust's libs. Fixes #8232
-
由 Flaper Fesp 提交于
-
由 Daniel Micay 提交于
-
由 bors 提交于
Closes #6002 There is consensus that the current implementation should be changed or removed, so removing it seems like the right decision for now.
-
由 Daniel Micay 提交于
Closes #6002 There is consensus that the current implementation should be changed or removed, so removing it seems like the right decision for now.
-
- 27 8月, 2013 22 次提交
-
-
由 bors 提交于
Fix #6887. (or rather, a bug injected by my prior commit for fixing that bug.)
-
由 bors 提交于
-
由 Adrien Tétar 提交于
-
由 bors 提交于
-
由 Huon Wilson 提交于
This means that fewer `transmute`s are required, so there is less chance of a `transmute` not having the corresponding `forget` (possibly leading to use-after-free, etc).
-
由 bors 提交于
This callstack changed when the FFI did. I am still a little frightened by this suppression. cc #8253
-
由 Felix S. Klock II 提交于
-
由 Huon Wilson 提交于
-
由 bors 提交于
r? anyone. Now, rustpkg --version does something useful!
-
由 Flaper Fesp 提交于
-
由 bors 提交于
Now that new LLVM has landed, the debug info works on Windows as well. Most existing tests pass, except for the following four, which I left disabled for now: lexical-scope-in-for-loop lexical-scope-in-if lexical-scope-in-match lexical-scopes-in-block-expression Also, fixed a small problem with the debug info test runner.
-
由 bors 提交于
Beforehand, it was unclear whether rust was performing the "recommended set" of optimizations provided by LLVM for code. This commit changes the way we run passes to closely mirror that of clang, which in theory does it correctly. The notable changes include: * Passes are no longer explicitly added one by one. This would be difficult to keep up with as LLVM changes and we don't guaranteed always know the best order in which to run passes * Passes are now managed by LLVM's PassManagerBuilder object. This is then used to populate the various pass managers run. * We now run both a FunctionPassManager and a module-wide PassManager. This is what clang does, and I presume that we *may* see a speed boost from the module-wide passes just having to do less work. I have no measured this. * The codegen pass manager has been extracted to its own separate pass manager to not get mixed up with the other passes * All pass managers now include passes for target-specific data layout and analysis passes Some new features include: * You can now print all passes being run with `-Z print-llvm-passes` * When specifying passes via `--passes`, the passes are now appended to the default list of passes instead of overwriting them. * The output of `--passes list` is now generated by LLVM instead of maintaining a list of passes ourselves * Loop vectorization is turned on by default as an optimization pass and can be disabled with `-Z no-vectorize-loops` All of these "copies" of clang are based off their [source code](http://clang.llvm.org/doxygen/BackendUtil_8cpp_source.html) in case anyone is curious what my source is. I was hoping that this would fix #8665, but this does not help the performance issues found there. Hopefully i'll allow us to tweak passes or see what's going on to try to debug that problem.
-
由 Alex Crichton 提交于
Beforehand, it was unclear whether rust was performing the "recommended set" of optimizations provided by LLVM for code. This commit changes the way we run passes to closely mirror that of clang, which in theory does it correctly. The notable changes include: * Passes are no longer explicitly added one by one. This would be difficult to keep up with as LLVM changes and we don't guaranteed always know the best order in which to run passes * Passes are now managed by LLVM's PassManagerBuilder object. This is then used to populate the various pass managers run. * We now run both a FunctionPassManager and a module-wide PassManager. This is what clang does, and I presume that we *may* see a speed boost from the module-wide passes just having to do less work. I have no measured this. * The codegen pass manager has been extracted to its own separate pass manager to not get mixed up with the other passes * All pass managers now include passes for target-specific data layout and analysis passes Some new features include: * You can now print all passes being run with `-Z print-llvm-passes` * When specifying passes via `--passes`, the passes are now appended to the default list of passes instead of overwriting them. * The output of `--passes list` is now generated by LLVM instead of maintaining a list of passes ourselves * Loop vectorization is turned on by default as an optimization pass and can be disabled with `-Z no-vectorize-loops`
-
由 bors 提交于
Fix #6887
-
由 Marvin Löbel 提交于
-
由 bors 提交于
This is a pull request for #2275 I've created a small python script to generate test files for a list of keywords (as break do else enum extern false fn for if impl let loop match mod mut priv pub ref return self static struct super true trait type unsafe use while), but I'm not really sure where to put it. I've added the created files as well. I did not use fn main() { let $KW = "foo"; //~ error println($KW); //~ error } as template, because for return, self, ref, loop, mut and break this does not raise an error in the ```println``` line, only in the ```let``` line.
-
由 Brian Anderson 提交于
-
由 Brian Anderson 提交于
This callstack changed when the FFI did. I am still a little frightened by this suppression.
-
由 bors 提交于
-
由 Corey Richardson 提交于
-
由 Corey Richardson 提交于
-
由 bors 提交于
r? @brson ...multiple workspaces The test checks that rustpkg uses the first one, rather than complaining about multiple matches. Closes #7241
-