- 27 8月, 2014 10 次提交
-
-
由 Michael Woerister 提交于
-
由 Michael Woerister 提交于
-
由 bors 提交于
Use cargo run as much as possible...
-
由 bors 提交于
Fixes #15562.
-
由 bors 提交于
We have to specify the module and the function name in the example where the module shares a crate with the executable as well, so remove the redundant (and potentially confusing) mention.
-
由 bors 提交于
For review. Not sure about the link_attrs stuff. Will work on converting all the tests. extern crate "foobar" as foo; extern crate foobar as foo; Implements remaining part of RFC #47. Addresses issue #16461. Removed link_attrs from rust.md, they don't appear to be supported by the parser.
-
由 bors 提交于
This library has been moved out to a cargo package in rust-lang.
-
由 Alex Crichton 提交于
This library has been moved out to a cargo package in rust-lang.
-
由 bors 提交于
Fix for type identifiers with only underscores (two or more), I assume they doesn't count as camel case. ```rust type __ = int; fn main() { } ``` ``` error: internal compiler error: unexpected failure note: the compiler hit an unexpected failure path. this is a bug. note: we would appreciate a bug report: http://doc.rust-lang.org/complement-bugreport.html note: run with `RUST_BACKTRACE=1` for a backtrace task 'rustc' failed at 'index out of bounds: the len is 0 but the index is 0', /home/rustbuild/src/rust-buildbot/slave/nightly-linux/build/src/librustc/lib.rs:1 stack backtrace: 1: 0xb603f5d0 - rt::backtrace::imp::write::ha55f265f6626471dmxr 2: 0xb6042620 - failure::on_fail::h4d2c6d42b67e94803Sr 3: 0xb640a180 - unwind::begin_unwind_inner::h484879fa7cc3611fZhe 4: 0xb6409e50 - unwind::begin_unwind_fmt::hd14e5c64bc9006capfe 5: 0xb6409df0 - rust_begin_unwind 6: 0xb6454580 - failure::begin_unwind::h9ab1fc5753bd08f3YDk 7: 0xb6458cb0 - failure::fail_bounds_check::h88167bad36865909aCk 8: 0xb6f685d0 - lint::builtin::NonCamelCaseTypes.LintPass::check_item::check_case::he854eeffd105cb0f40E 9: 0xb6f68050 - lint::builtin::NonCamelCaseTypes.LintPass::check_item::hc35b45d248e41cd43XE 10: 0xb6f7b760 - lint::context::Context<'a>.Visitor<(*>::visit_item::closure.139262 11: 0xb6f79510 - lint::context::Context<'a>::with_lint_attrs::hb9efe321fa321ce6spG 12: 0xb6f81d30 - lint::context::Context<'a>.Visitor<(*>::visit_mod::he4593c831936b308ZMG 13: 0xb6f8f2f0 - lint::context::check_crate::closure.139319 14: 0xb6f79510 - lint::context::Context<'a>::with_lint_attrs::hb9efe321fa321ce6spG 15: 0xb6efda70 - lint::context::check_crate::ha9e64328726b9579q1G 16: 0xb6efda20 - driver::driver::phase_3_run_analysis_passes::closure.136263 17: 0xb659d640 - util::common::time::h2837683151147173214 18: 0xb6e7d130 - driver::driver::phase_3_run_analysis_passes::h7079eff53afc4de3Jfz 19: 0xb6e783f0 - driver::driver::compile_input::h0ec84a550e24779cP1y 20: 0xb6f26250 - driver::run_compiler::h7e7c01ecbfd0ad87JzC 21: 0xb6f26150 - driver::main_args::closure.137215 22: 0xb6f380d0 - task::TaskBuilder<S>::try_future::closure.138376 23: 0xb6f37ec0 - task::TaskBuilder<S>::spawn_internal::closure.138353 24: 0xb774bdd0 - task::spawn_opts::closure.8325 25: 0xb6409c10 - unwind::try::try_fn::h91f00772748cf73eD8d 26: 0xb6468ae0 - rust_try_inner 27: 0xb6468aa0 - rust_try 28: 0xb6407880 - unwind::try::h78a4fc0e85c326aef6d 29: 0xb6407640 - task::Task::run::hb6f2d9484116e3d8xcd 30: 0xb774bba0 - task::spawn_opts::closure.8271 31: 0xb6409350 - thread::thread_start::h8c02fef9f651da5cjBd 32: 0xb5ed3fc0 - start_thread 33: 0xb62e8a32 - __clone 34: 0x0 - <unknown> ```
-
由 Matej Lach 提交于
-
- 26 8月, 2014 13 次提交
-
-
由 bors 提交于
-
由 bors 提交于
because eyesore
-
由 bors 提交于
DST coercions and DST fields in structs The commits are not quite stand alone, I should probably squash them together before landing. In particular if you review the individual commits, then you'll see some scrappy stuff that gets fixed in later commits. But reading the commits in order might be easier to get an overall idea of what is going on. The first commit includes putting back time zone into our time library - @pcwalton removed that as part of his de-~str'ing, but I had already converted it to use StrBuf, so we may as well leave it in. Update: no longer, this is removed in a later commit.
-
由 bors 提交于
We shouldn't be making calls directly to `ty::node_id_to_type` since the typer may be bcx which also has to monomorphize the type. Fixes #16643.
-
由 Nick Cameron 提交于
-
由 Nick Cameron 提交于
-
由 Nick Cameron 提交于
[breaking-change] 1. The internal layout for traits has changed from (vtable, data) to (data, vtable). If you were relying on this in unsafe transmutes, you might get some very weird and apparently unrelated errors. You should not be doing this! Prefer not to do this at all, but if you must, you should use raw::TraitObject rather than hardcoding rustc's internal representation into your code. 2. The minimal type of reference-to-vec-literals (e.g., `&[1, 2, 3]`) is now a fixed size vec (e.g., `&[int, ..3]`) where it used to be an unsized vec (e.g., `&[int]`). If you want the unszied type, you must explicitly give the type (e.g., `let x: &[_] = &[1, 2, 3]`). Note in particular where multiple blocks must have the same type (e.g., if and else clauses, vec elements), the compiler will not coerce to the unsized type without a hint. E.g., `[&[1], &[1, 2]]` used to be a valid expression of type '[&[int]]'. It no longer type checks since the first element now has type `&[int, ..1]` and the second has type &[int, ..2]` which are incompatible. 3. The type of blocks (including functions) must be coercible to the expected type (used to be a subtype). Mostly this makes things more flexible and not less (in particular, in the case of coercing function bodies to the return type). However, in some rare cases, this is less flexible. TBH, I'm not exactly sure of the exact effects. I think the change causes us to resolve inferred type variables slightly earlier which might make us slightly more restrictive. Possibly it only affects blocks with unreachable code. E.g., `if ... { fail!(); "Hello" }` used to type check, it no longer does. The fix is to add a semicolon after the string.
-
由 Nick Cameron 提交于
-
由 Nick Cameron 提交于
-
由 Luqman Aden 提交于
-
由 Luqman Aden 提交于
-
由 Luqman Aden 提交于
-
由 Luqman Aden 提交于
-
- 25 8月, 2014 15 次提交
-
-
由 bors 提交于
Closes #16725
-
由 Alex Crichton 提交于
The privacy pass of the compiler was previously not taking into account the privacy of foreign items, or bindings to external functions. This commit fixes this oversight by encoding the visibility of foreign items into the metadata for each crate. Any code relying on this will start to fail to compile and the bindings must be marked with `pub` to indicate that they can be used externally. Closes #16725 [breaking-change]
-
由 Valerii Hiora 提交于
-
由 bors 提交于
Closes #8492. I did not find this suggestion in the [guidelines][] but it's mentioned in the [old style guide][]. [guidelines]: https://github.com/rust-lang/rust-guidelines [old style guide]: https://github.com/rust-lang/rust/wiki/Note-style-guide/73c864a10a8e231e2a6630e5a3461f1d3022a20a
-
由 bors 提交于
If a task is spinning in an accept loop, there is currently no method of gracefully shutting it down. This PR introduces a way to do so by cloning the acceptor and implementing a close_accept method to unblocking any pending acceptor. As with other I/O methods like this, it is `#[experimental]` from the start and sadly carries with it a good deal of code to support it. Much of the complication is from the fact that you can now concurrently accept on the same socket. I tried to add a good deal of tests for this change, but another set of eyes is always appreciated!
-
由 Alex Crichton 提交于
This commits takes a similar strategy to the previous commit to implement close_accept and clone for the native win32 pipes implementation. Closes #15595
-
由 Alex Crichton 提交于
Document the new code for how close_accept and timeouts are implemented.
-
由 Alex Crichton 提交于
This commit implements TcpAcceptor::{close, close_accept} for windows via WSAEVENT types.
-
由 Alex Crichton 提交于
This commits implements {Tcp,Unix}Acceptor::{clone,close_accept} methods for all of librustuv. This implementation rewrites much of Access, AccessTimeout, and AcceptTimeout to have type parameter for shared state that all acceptors share (a shared queue of sockets). The incoming/outgoing channels have been removed as all timeouts and such are now managed on the event loop rather than concurrently.
-
由 Alex Crichton 提交于
This commits implements {Tcp,Unix}Acceptor::{clone,close_accept} methods for unix. A windows implementation is coming in a later commit. The clone implementation is based on atomic reference counting (as with all other clones), and the close_accept implementation is based on selecting on a self-pipe which signals that a close has been seen.
-
由 bors 提交于
Shows linker spew even when linking succeeds. This is occasionally useful in order to see verbose linker output.
-
由 bors 提交于
This lets the parser understand trailing commas in method calls, method definitions, enum variants, and type parameters. Closes #14240. Closes #15887.
-
由 bors 提交于
Current version of rust fails when casting from bool, e.g. ```rust fn main() { let _a = false as uint; let _b = true as uint; let _c: [bool, ..false as uint]; let _d: [bool, ..true as uint]; // _a and _b work, but _c and _d result in an error // error: expected constant expr for vector length: can't cast str to uint } ``` This commit makes it work as expected.
-
由 bors 提交于
Use ExactSize::len() and defer to its decisions about overly defensive assertions. Remove the length double-check and simply put a failure case if the Zip finds an uneven end in .next_back(). Fixing this up since I think I wrote this, and it's been known to confuse rusties (PR #15886).
-
由 bors 提交于
-
- 24 8月, 2014 2 次提交
-
-
由 Tshepang Lekhonkhobe 提交于
-
由 bors 提交于
-