- 06 3月, 2014 23 次提交
-
-
由 bors 提交于
This PR brings back limited debuginfo which allows for nice backtraces and breakpoints, but omits any info about variables and types. The `-g` and `--debuginfo` command line options have been extended to take an optional argument: `-g0` means no debug info. `-g1` means line-tables only. `-g2` means full debug info. Specifying `-g` without argument is equivalent to `-g2`. Fixes #12280
-
由 bors 提交于
Details are in the commit messages, but this closes a few issues seen with `libnative` recently.
-
由 bors 提交于
This commit adds a appear-on-over link to all section headers to generated documentation. Each header also receives an id now, even those generated through markdown. The purpose of this is to provide easy to link to sections. This modifies the default header markdown generation because the default id added looks like "toc_NN" which is difficult to reconcile among all sections (by default each section gets a "toc_0" id), and it's also not very descriptive of where you're going. This chooses to adopt the github-style anchors by taking the contents of the title and hyphen-separating them (after lower casing). Closes #12681
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
由 Alex Crichton 提交于
This commit adds a appear-on-over link to all section headers to generated documentation. Each header also receives an id now, even those generated through markdown. The purpose of this is to provide easy to link to sections. This modifies the default header markdown generation because the default id added looks like "toc_NN" which is difficult to reconcile among all sections (by default each section gets a "toc_0" id), and it's also not very descriptive of where you're going. This chooses to adopt the github-style anchors by taking the contents of the title and hyphen-separating them (after lower casing). Closes #12681
-
由 bors 提交于
Closes #8506.
-
由 Alex Crichton 提交于
When using tasks in Rust, the expectation is that the runtime does not exit before all tasks have exited. This is enforced in libgreen through the `SchedPool` type, and it is enforced in libnative through a `bookkeeping` module and a global count/mutex pair. Unfortunately, this means that a process which originates with libgreen will not wait for spawned native tasks. In order to fix this problem, the bookkeeping module was moved from libnative to libstd so the runtime itself can wait for native tasks to exit. Green tasks do not manage themselves through this bookkeeping module, but native tasks will continue to manage themselves through this module. Closes #12684
-
由 Jed Davis 提交于
Closes #8506. The `trans::adt` code for statics uses fields with `C_undef` values to insert alignment padding (because LLVM's own alignment padding isn't always sufficient for aggregate constants), and assumes that all fields in the actual Rust value are represented by non-undef LLVM values, to distinguish them from that padding. But for nullable pointer enums, if non-null variant has fields other than the pointer used as the discriminant, they would be set to undef in the null case, to reflect that they're never accessed. To avoid the obvious conflict between these two items, the latter undefs were wrapped in unary LLVM structs to distinguish them from the former undefs. Except this doesn't actually work -- LLVM, not unreasonably, treats the "wrapped undef" as a regular undef. So this commit just sets all fields to null in the null pointer case of a nullable pointer enum static, because the other fields don't really need to be undef in the first place.
-
由 bors 提交于
-
由 Daniel Micay 提交于
The `cmp::min` and `cmp::max` functions are not correct with partially ordered values. #12712
-
由 Daniel Micay 提交于
-
由 bors 提交于
Fixes #10877 There was another PR which attempted to fix this in the parser (#11804) and which was closed due to inactivity. This PR modifies typeck instead (as suggested in #11804), which indeed seems to be simpler than modifying the parser and allows for a better error message.
-
由 Dmitry Promsky 提交于
Closes #10877
-
由 bors 提交于
- Moves mtwt hygiene code into its own file - Fixes FIXME's which leads to ~2x speed gain in expansion pass - It is now @-free
-
由 bors 提交于
Just realized that these were quite outdated and quickly fixed it. I have to admit that I did not run the test suite on this one though…
-
由 Alex Crichton 提交于
When the timer_helper thread exited, it would attempt to re-acquire the global task count mutex, but the mutex had previously been deallocated, leading to undefined behavior of the mutex, and in some cases deadlock. Another mutex is used to coordinate shutting down the timer helper thread. Closes #12699
-
由 Alex Crichton 提交于
Using nanosleep() allows us to gracefully recover from EINTR because on error it fills in the second parameter with the remaining time to sleep. Closes #12689
-
由 Alex Crichton 提交于
This function is not threadsafe, and is deprecated in favor of the threadsafe readdir_r variant. Closes #12692
-
由 bors 提交于
-
由 Daniel Micay 提交于
-
由 Daniel Micay 提交于
The `std::cmp` functions are not correct for floating point types. `min(NaN, 2.0)` and `min(2.0, NaN)` return different values, because these functions assume a total order. Floating point types need special `min`, `max` and `clamp` functions.
-
- 05 3月, 2014 17 次提交
-
-
由 Edward Wang 提交于
- Moves mtwt hygiene code into its own file - Fixes FIXME's which leads to ~2x speed gain in expansion pass - It is now @-free
-
由 bors 提交于
Feel free to reject this if I’m mistaken, but the `count` in the for loop does look like it’s going from 0 to `end`.
-
由 Eduard Bopp 提交于
Both for rustc and rustdoc the man pages contained out-of-date version info.
-
由 Simon Sapin 提交于
-
由 bors 提交于
Add the `Deref` and `DerefMut` traits and implement overloading explicit dereferences.
-
由 bors 提交于
I added a new lint for variables whose names contain uppercase characters, since, by convention, variable names should be all lowercase. What motivated me to work on this was when I ran into something like the following: ```rust use std::io::File; use std::io::IoError; fn main() { let mut f = File::open(&Path::new("/something.txt")); let mut buff = [0u8, ..16]; match f.read(buff) { Ok(cnt) => println!("read this many bytes: {}", cnt), Err(IoError{ kind: EndOfFile, .. }) => println!("Got end of file: {}", EndOfFile.to_str()), } } ``` I then got compile errors when I tried to add a wildcard match pattern at the end which I found very confusing since I believed that the 2nd match arm was only matching the EndOfFile condition. The problem is that I hadn't imported io::EndOfFile into the local scope. So, I thought that I was using EndOfFile as a sub-pattern, however, what I was actually doing was creating a new local variable named EndOfFile. This lint makes this error easier to spot by providing a warning that the variable name EndOfFile contains a uppercase characters which provides a nice hint as to why the code isn't doing what is intended. The lint warns on local bindings as well: ```rust let Hi = 0; ``` And also struct fields: ```rust struct Something { X: uint } ```
-
由 Palmer Cox 提交于
-
由 Palmer Cox 提交于
-
由 bors 提交于
Fixes a regression from #4913 which causes items to be exanded with spans lacking expn_info from the context's current backtrace.
-
由 bors 提交于
Linker argument order with respect to libraries is important enough that we shouldn't be attempting to filter out libraries getting passed through to the linker. When linking with a native library that has multiple dependant native libraries, it's useful to have control over the link argument order.
-
由 Palmer Cox 提交于
-
由 Palmer Cox 提交于
-
由 Palmer Cox 提交于
-
由 Nick Cameron 提交于
Fixes a regression from #4913 which causes items to be exanded with spans lacking expn_info from the context's current backtrace.
-
由 bors 提交于
This exists for the sake of compatibility during the ~[T] -> Vec<T> transition. It will be removed in the future.
-
由 Daniel Micay 提交于
This exists for the sake of compatibility during the ~[T] -> Vec<T> transition. It will be removed in the future.
-
由 bors 提交于
This become `Pod` when it was switched to using marker types.
-