- 01 5月, 2015 2 次提交
-
-
由 Aaron Turon 提交于
This commit brings the `Error` trait in line with the [Error interoperation RFC](https://github.com/rust-lang/rfcs/pull/201) by adding downcasting, which has long been intended. This change means that for any `Error` trait objects that are `'static`, you can downcast to concrete error types. To make this work, it is necessary for `Error` to inherit from `Reflect` (which is currently used to mark concrete types as "permitted for reflection, aka downcasting"). This is a breaking change: it means that impls like ```rust impl<T> Error for MyErrorType<T> { ... } ``` must change to something like ```rust impl<T: Reflect> Error for MyErrorType<T> { ... } ``` except that `Reflect` is currently unstable (and should remain so for the time being). For now, code can instead bound by `Any`: ```rust impl<T: Any> Error for MyErrorType<T> { ... } ``` which *is* stable and has `Reflect` as a super trait. The downside is that this imposes a `'static` constraint, but that only constrains *when* `Error` is implemented -- it does not actually constrain the types that can implement `Error`. [breaking-change]
-
由 Alex Crichton 提交于
Associated constants were now showing up for traits and would panic if they were found on an inherent impl. This commit unblocks the nighly builders.
-
- 30 4月, 2015 23 次提交
-
-
由 Michael Sproul 提交于
-
由 Johannes Oertel 提交于
Closes #24446.
-
由 Robin Stocker 提交于
-
由 Hech 提交于
-
由 Alex Crichton 提交于
-
由 Michael Sproul 提交于
Diagnostic errors are now checked for uniqueness across the compiler and error metadata is written to JSON files.
-
由 tynopex 提交于
Make whitespace consistent
-
由 Tamir Duberstein 提交于
Addresses part of #10381.
-
由 Tamir Duberstein 提交于
Closes #9116.
-
由 Tamir Duberstein 提交于
The problem here is that this test doesn't even compile for Android. See #24958.
-
由 Nick Hamann 提交于
This adds some missing punctuation and converts uses of "Gets" to "Returns". This sounds better to my ear, but more importantly is more consistent with the documentation from other files.
-
由 Nick Hamann 提交于
-
由 Nick Hamann 提交于
-
由 Felix S. Klock II 提交于
THis includes tests for struct and enum. (I suspect the closure case is actually unreachable, but i see no harm in including it.)
-
由 Felix S. Klock II 提交于
-
由 tynopex 提交于
-
由 Nick Hamann 提交于
This adds some missing punctuation, adds a missing word, and corrects a bug in the description of `send_to`, which actually returns the number of bytes written on success. Fixes #24925.
-
由 Tamir Duberstein 提交于
This is OK to do given: - PIE is supported on Android starting with API 16. - The bots are running API 18. - API < 16 now has a 12.5% market share[0] as of 2015-04-29. Unfortunately, this breaks backtrace support. See #17520. Closes #17437. [0] https://developer.android.com/about/dashboards/index.html
-
由 Peter Marheine 提交于
-
由 Tamir Duberstein 提交于
-
由 Felix S. Klock II 提交于
Note it is safe, with respect to autobuilds, to land before #24945. (In other words, landing this sooner won't break things for anyone any worse than they were already broken, since there are *other* tests that also add `-g` to their flags via `compile-flags: -g`.)
-
由 Felix S. Klock II 提交于
-
由 Felix S. Klock II 提交于
-
- 29 4月, 2015 15 次提交
-
-
由 Tamir Duberstein 提交于
-
由 Tamir Duberstein 提交于
-
由 Tamir Duberstein 提交于
-
由 Alex Crichton 提交于
Currently if a standard I/O handle is set to inherited on Windows, no action is taken and the slot in the process information description is set to `INVALID_HANDLE_VALUE`. Due to our passing of `STARTF_USESTDHANDLES`, however, this means that the handle is actually set to nothing and if a child tries to print it will generate an error. This commit fixes this behavior by explicitly creating stdio handles to be placed in these slots by duplicating the current process's I/O handles. This is presumably what previously happened silently by using a file-descriptor-based implementation instead of a `HANDLE`-centric implementation. Along the way this cleans up a lot of code in `Process::spawn` for Windows by ensuring destructors are always run, using more RAII, and limiting the scope of `unsafe` wherever possible.
-
由 Björn Steinbrink 提交于
```asm movzbl %dil, %eax bsfl %eax, %eax movl $32, %ecx cmovnel %eax, %ecx cmpl $32, %ecx movl $8, %eax cmovnel %ecx, %eax ``` which has some unnecessary overhead, having two conditional moves. To improve the codegen, we can zero extend the 8 bit integer, then set bit 8 and perform a cttz operation on the extended value. That way there's no conditional operation involved at all.
-
由 Oliver Schneider 提交于
compiler plugins are hosted unter "compiler-plugins.html" not "plugins.html"
-
由 Felix S. Klock II 提交于
use visible characters for the multibyte character filler.
-
由 jooert 提交于
Since #24783, the style guidelines recommend that unit tests should live in a submodule `tests` rather than `test` to not clash with the possible use of libtest. This is especially important for benchmark tests as they require libtest. Fixes #24923.
-
由 Felix S. Klock II 提交于
Fix #24687
-
由 Nick Cameron 提交于
-
由 Nick Cameron 提交于
-
由 Nick Cameron 提交于
-
由 Nick Cameron 提交于
-
由 Nick Cameron 提交于
-
由 Nick Cameron 提交于
-