Issue 1:
This code crashes the compiler

fn main() {
let mut a = [];
}

rustc --version
rustc 1.0.0-nightly (d754722a0 2015-03-31) (built 2015-04-01)

On windows 7 (64 bit)

a.rs:7:19: 7:21 error: internal compiler error: cat_expr Errd
a.rs:7 let mut a = [];
^~
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>', C:/bot/slave/nightly-dist-rustc-win-64/build/src/libsyntax\diagnostic.rs:130

stack backtrace:
1: 0x7121c7d3 - sys::backtrace::write::h26f3dfa5607ee31dCMD
2: 0x71231b3a - rt::unwind::register::he2da75234a8bfeefOjJ
3: 0x71183130 - rt::unwind::begin_unwind_inner::ha4ed1cd24d71fc5fYgJ
4: 0x7b5af9 - diagnostic::SpanHandler::span_bug::hbab7d9e8f930b2a0BcB
5: 0x7b5ac3 - diagnostic::SpanHandler::span_bug::hbab7d9e8f930b2a0BcB
6: 0xdd24e2 - session::Session::span_bug::h3f7ba5dcfb8c2b2buto
7: 0x1759011 - check::regionck::Rcx<'a, 'tcx>.Visitor<'v>::visit_item::h549cc8f76dffe18bGDd
8: 0x1759afa - check::regionck::Rcx<'a, 'tcx>.Visitor<'v>::visit_local::h20a6c72e4c7a864epEd
9: 0x17540f6 - check::regionck::Rcx<'a, 'tcx>.Visitor<'v>::visit_expr::hbd7455afe8974b7fVDd
10: 0x17e9f13 - check::CheckItemTypesVisitor<'a, 'tcx>.Visitor<'tcx>::visit_ty::h516be61f8f1ab04ccOn
11: 0x17e1e41 - check::CheckItemTypesVisitor<'a, 'tcx>.Visitor<'tcx>::visit_item::h38e34fdef076473eQNn
12: 0x18b6598 - check_crate::h13ec7eeead4478a1BxC
13: 0x18b081c - check_crate::h13ec7eeead4478a1BxC
14: 0x652df73b - driver::phase_3_run_analysis_passes::hfb4b6f3296e77e2coGa
15: 0x652c2a65 - driver::compile_input::h99ce08289465395eQba
16: 0x65376ad3 - run_compiler::h0bba6b17cd7f9dddp2b
17: 0x65374990 - run::hd86bbfcbe6b9750a51b
18: 0x65373b9a - run::hd86bbfcbe6b9750a51b
19: 0x7126a75c - rust_try
20: 0x7126a739 - rust_try
21: 0x65373f08 - run::hd86bbfcbe6b9750a51b
22: 0x71225804 - sys::tcp::TcpListener::bind::h673da3c0fc98ee2diIH
23: 0x7ffb63a013d2 - BaseThreadInitThunk

Issue 2:
Test case:

fn main() { []; }

Output:

$ RUST_BACKTRACE=1 rustc test.rs
test.rs:1:13: 1:15 error: internal compiler error: cat_expr Errd
test.rs:1 fn main() { []; }
^~
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:129

stack backtrace:
1: 0xcc029720 - sys::backtrace::write::h66f3f2784d0f6c5ddgA
2: 0xcc051b80 - panicking::on_panic::h6fdde9e4e9166fe6jaJ
3: 0xcbf91c30 - rt::unwind::begin_unwind_inner::hba10c536ef2aae75MQI
4: 0xc92a10c0 - rt::unwind::begin_unwind::h11287547919384241778
5: 0xc92a1050 - diagnostic::SpanHandler::span_bug::h551f703868554ecfUBD
6: 0xc9e32fe0 - session::Session::span_bug::h10f6b5fdbea6485fbjp
7: 0xcb6c5920 - check::regionck::visit_expr::hc78138689559ecf8Yrd
8: 0xcb6c35c0 - check::regionck::Rcx<'a, 'tcx>::visit_fn_body::h75e2fac33dc50b43a4c
9: 0xcb75ee50 - check::check_bare_fn::hf42e5aabaa5cb880Oan
10: 0xcb756f40 - check::check_item::hdbe569c101f96905stn
11: 0xcb822f10 - check_crate::closure.36015
12: 0xcb81d9c0 - check_crate::h9d44bf3fde687089EXB
13: 0xcc6a38c0 - driver::phase_3_run_analysis_passes::h36c633d41f11ca74wFa
14: 0xcc689ec0 - driver::compile_input::h0de317319ab5c701Hba
15: 0xcc754e20 - run_compiler::hffa0c0711e361de8E5b
16: 0xcc753720 - thunk::F.Invoke<A, R>::invoke::h12673221910893163557
17: 0xcc752610 - rt::unwind::try::try_fn::h15130568597725528481
18: 0xcc0bd740 - rust_try_inner
19: 0xcc0bd730 - rust_try
20: 0xcc752910 - thunk::F.Invoke<A, R>::invoke::h3924406537784056782
21: 0xcc03d990 - sys::thread::thread_start::h3734be2229bd3edegEE
22: 0xc5f650c0 - start_thread
23: 0xcbc0a449 - __clone
24: 0x0 - <unknown>

Compiler version:

rustc 1.0.0-nightly (b47aebe3f 2015-02-26) (built 2015-02-27)
binary: rustc
commit-hash: b47aebe3fc2da06c760fd8ea19f84cbc41d34831
commit-date: 2015-02-26
build-date: 2015-02-27
host: x86_64-unknown-linux-gnu
release: 1.0.0-nightly

I modified the test case in #22894 by moving the &*"" into fn main(), and I saw the same ICE. I then changed the "" to the similar &[], and I saw an ICE with a different error message and a different stack trace (e.g. phase 3 instead of phase 4). The & and * are unnecessary.

I also see the cat_expr Errd message in #22037, but there are differences -- this issue happens in phase 3 rather than 4, and there is no "fictitious type" message.