Issue 1:
I'm playing with parallelism, and rustc gave me this error:

error: internal compiler error: coherence failed to report ambiguity: cannot locate the impl of the trait `core::marker::Send` for the type `[closure src/main.rs:106:28: 109:10]`

As I'm not yet really experienced with rust, I'm not really sure it's the compiler fault, but I suppose false positives are better than hidden positives :)

If I may help you by providing any informations, please do not hesitate to ask.

I tried this code:

struct ExtendedHSPs {
query_pos: i64,
bank_pos: i64,
extension: i32,
score: i32,
}

[...]
let NB_CPU: usize = 4;
let total_size: usize = query_candidates.len();
let slice_size: usize = total_size/NB_CPU;
let (tx, rx) = mpsc::channel();

for cpu in 0..NB_CPU {
let bottom = cpu*slice_size;
let top = if cpu+1 == NB_CPU {total_size} else {(cpu+1)*slice_size};

let my_tx = tx.clone();
thread::spawn(move || {
let mut my_HSPs = Vec::new();
my_tx.send(my_HSPs);
});
}

drop(tx);
let HSPs: Vec<_> = rx.iter().collect();
[...]

Meta

rustc --version --verbose:

rustc 1.1.0-nightly (e5394240a 2015-05-14) (built 2015-05-14)
binary: rustc
commit-hash: e5394240a295650b567aa406b4a0e1e3a6749a5f
commit-date: 2015-05-14
build-date: 2015-05-14
host: x86_64-unknown-linux-gnu // <-- Archlinux here
release: 1.1.0-nightly

Backtrace:

⟩ env RUST_BACKTRACE=1 cargo rustc
Compiling fblast v0.1.0 (file:///XXX)
src/main.rs:106:9: 106:22 error: internal compiler error: coherence failed to report ambiguity: cannot locate the impl of the trait `core::marker::Send` for the type `[closure src/main.rs:106:28: 109:10]`
src/main.rs:106 thread::spawn(move || {
^~~~~~~~~~~~~
note: in expansion of for loop expansion
src/main.rs:101:5: 110:6 note: expansion site
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: run with `RUST_BACKTRACE=1` for a backtrace
thread 'rustc' panicked at 'Box<Any>', /home/rustbuild/src/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libsyntax/diagnostic.rs:170

stack backtrace:
1: 0x7fba53543d89 - sys::backtrace::write::h07c95d531f9fe9d4uhs
2: 0x7fba5354bd09 - panicking::on_panic::he918792f8f4677b8xXw
3: 0x7fba5350bab2 - rt::unwind::begin_unwind_inner::h31a101974d18f246HCw
4: 0x7fba508f544d - rt::unwind::begin_unwind::h14624462634262488443
5: 0x7fba508f53e2 - diagnostic::SpanHandler::span_bug::hafd58c40d711da9f02B
6: 0x7fba514fe073 - middle::traits::error_reporting::report_fulfillment_errors::h1a1d53ad0f7d9f52WTN
7: 0x7fba52cafc44 - check::FnCtxt<'a, 'tcx>::select_all_obligations_or_error::hdec1eabcd6932f1e0kp
8: 0x7fba52d273f2 - check::check_bare_fn::h1721ecdc067e6448qun
9: 0x7fba52d252d2 - check::CheckItemBodiesVisitor<'a, 'tcx>.Visitor<'tcx>::visit_item::h107d6f7848b9ff6btrn
10: 0x7fba52de5d8a - check_crate::closure.38895
11: 0x7fba52ddf620 - check_crate::h6d6254e7cbd89310ZIC
12: 0x7fba53a9adc8 - driver::phase_3_run_analysis_passes::hd8a391a642e4490etGa
13: 0x7fba53a7c0cc - driver::compile_input::hb2b273f3b108679aQba
14: 0x7fba53b37801 - run_compiler::h0564a7d54aad01e375b
15: 0x7fba53b35052 - boxed::F.FnBox<A>::call_box::h13361673564817623969
16: 0x7fba53b34619 - rt::unwind::try::try_fn::h2560773790993423171
17: 0x7fba535c4a98 - rust_try_inner
18: 0x7fba535c4a85 - rust_try
19: 0x7fba53b348b4 - boxed::F.FnBox<A>::call_box::h12559150340170776261
20: 0x7fba5354aaa1 - sys::thread::Thread::new::thread_start::h9c8d6fd462521d203Iv
21: 0x7fba4d5f7353 - start_thread
22: 0x7fba5319bbfc - __clone
23: 0x0 - <unknown>

Issue 2:
use std::sync::mpsc::channel;
use std::thread::spawn;
use std::marker::PhantomData;

struct Foo<T> {foo: PhantomData<T>}

fn main() {
let (tx, rx) = channel();

spawn(move || {
tx.send(Foo{ foo: PhantomData });
});
}

fails to compile with the following error (on playpen nightly 2014-05-13):

<anon>:10:5: 10:10 error: internal compiler error: coherence failed to report ambiguity: cannot locate the impl of the trait `core::marker::Send` for the type `[closure <anon>:10:16: 12:6]`
<anon>:10 spawn(move || {
^~~~~
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: run with `RUST_BACKTRACE=1` for a backtrace
thread 'rustc' panicked at 'Box<Any>', /home/rustbuild/src/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libsyntax/diagnostic.rs:170

Here's the backtrace:

stack backtrace:
1: 0x7fd0dba28b49 - sys::backtrace::write::h412fd048026f70e7uhs
2: 0x7fd0dba30ac9 - panicking::on_panic::h29d81987ed54208bxXw
3: 0x7fd0db9f0862 - rt::unwind::begin_unwind_inner::hb43cf3548917ef54HCw
4: 0x7fd0d8dd3c4d - rt::unwind::begin_unwind::h5201448110574075268
5: 0x7fd0d8dd3be2 - diagnostic::SpanHandler::span_bug::hb39065b9fe8fb3f2D2B
6: 0x7fd0d9b43a49 - middle::traits::error_reporting::report_fulfillment_error::h2459ff2fb01b4302zTN
7: 0x7fd0d99f4d41 - middle::traits::error_reporting::report_fulfillment_errors::hf108381206cc195cPSN
8: 0x7fd0db198414 - check::vtable::select_all_fcx_obligations_or_error::ha187a7a966441c6df9b
9: 0x7fd0db219262 - check::check_bare_fn::hde32c6ea2fd561e5FMn
10: 0x7fd0db217142 - check::CheckItemBodiesVisitor<'a, 'tcx>.Visitor<'tcx>::visit_item::h1fe392053eb35855IJn
11: 0x7fd0db2d1aca - check_crate::closure.38576
12: 0x7fd0db2cb630 - check_crate::hdfe4c6ceaab6493fuCC
13: 0x7fd0dbf890a8 - driver::phase_3_run_analysis_passes::h3c7402bc8b274a4ctGa
14: 0x7fd0dbf69eac - driver::compile_input::h34062f722e30b378Qba
15: 0x7fd0dc025e31 - run_compiler::h58bdb62ca09f7a7275b
16: 0x7fd0dc023682 - boxed::F.FnBox<A>::call_box::h2254708566657730251
17: 0x7fd0dc022c49 - rt::unwind::try::try_fn::h5284975654559288511
18: 0x7fd0dbab3f98 - rust_try_inner
19: 0x7fd0dbab3f85 - rust_try
20: 0x7fd0dc022ee4 - boxed::F.FnBox<A>::call_box::h4931667208008540516
21: 0x7fd0dba2f861 - sys::thread::Thread::new::thread_start::hb8b1207e6c09cbe43Iv
22: 0x7fd0d64732c3 - <unknown>
23: 0x7fd0db6872dc - clone
24: 0x0 - <unknown>

This is probably related to #24424, but doesn't include any lifetimes.