Issue 1:
My code is probably wrong in some way because I'm a real n00b to Rust but since the compiler output tells me to submit a bug report I will obey. Possible duplicate of #20347 but I know too little to be sure.

Compiler version info

rustc 0.13.0-nightly (c6c786671 2015-01-04 00:50:59 +0000)
binary: rustc
commit-hash: c6c786671d692d7b13c2e5c68a53001327b4b125
commit-date: 2015-01-04 00:50:59 +0000
host: x86_64-unknown-linux-gnu
release: 0.13.0-nightly
Initial: 0

Compiler output

p2.rs:12:1: 19:2 error: internal compiler error: impl `VtableImpl(impl_def_id=DefId { krate: 0, node: 21 }:Fibonacci.Iterator, substs=Substs[types=[[];[];[]], regions=[[];[];[]]], nested=[[];[];[]])` did not contain projection for `Obligation(predicate=<Fibonacci as TraitRef(Fibonacci, core::iter::Iterator)>::Item,depth=0)`
p2.rs:12 impl Iterator for Fibonacci {
p2.rs:13 fn next(&mut self) -> uint {
p2.rs:14 let curr = self.curr;
p2.rs:15 self.curr = self.next;
p2.rs:16 self.next = curr + self.next;
p2.rs:17 curr
...
note: the compiler unexpectedly panicked. 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
thread 'rustc' panicked at 'Box<Any>', /home/rustbuild/src/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libsyntax/diagnostic.rs:123

stack backtrace:
1: 0x7fe8477b32d0 - sys::backtrace::write::h8532e701ef86014f4it
2: 0x7fe8477d8b00 - failure::on_fail::h7532e1f79d134d5dzvz
3: 0x7fe84773e1c0 - rt::unwind::begin_unwind_inner::h97b151606151d62deaz
4: 0x7fe8425efc60 - rt::unwind::begin_unwind::h15809447133099964284
5: 0x7fe8425efbf0 - diagnostic::SpanHandler::span_bug::he8142ababcc30c39DFF
6: 0x7fe845aeee70 - middle::traits::project::project_type::h947eece142ef049d52P
7: 0x7fe845aebfd0 - middle::traits::project::opt_normalize_projection_type::hb3defb9cc9365d1e8UP
8: 0x7fe845ad9ba0 - middle::traits::project::normalize_projection_type::hdc293893275ee559JTP
9: 0x7fe845aed470 - middle::traits::project::AssociatedTypeNormalizer<'a, 'b, 'tcx>.TypeFolder<'tcx>::fold_ty::h801cbd2cdff2eff1kSP
10: 0x7fe846daa2e0 - middle::ty_fold::Rc<T>.TypeFoldable<'tcx>::fold_with::h6325524173844043840
11: 0x7fe846daae90 - middle::ty_fold::VecPerParamSpace<T>.TypeFoldable<'tcx>::fold_with::h13884369302522804796
12: 0x7fe846dc6280 - check::FnCtxt<'a, 'tcx>::instantiate_bounds::hed550a9659b70335Oll
13: 0x7fe846ddefc0 - check::wf::CheckTypeWellFormedVisitor<'ccx, 'tcx>::check_impl::closure.29997
14: 0x7fe846ddb430 - check::wf::CheckTypeWellFormedVisitor<'ccx, 'tcx>::with_fcx::hb1283961ed8977b7Gfi
15: 0x7fe846de1d70 - check::wf::CheckTypeWellFormedVisitor<'ccx, 'tcx>.Visitor<'v>::visit_item::h001ababd87597e37soi
16: 0x7fe846fcefe0 - check_crate::unboxed_closure.40162
17: 0x7fe846fc9c30 - check_crate::h19fb6dea5733566ajsx
18: 0x7fe847d04640 - driver::phase_3_run_analysis_passes::h46b1604d9f9f5633Tva
19: 0x7fe847cf2ae0 - driver::compile_input::h68b8602933aad8d7wba
20: 0x7fe847dbdeb0 - thunk::F.Invoke<A, R>::invoke::h18029802347644288836
21: 0x7fe847dbcc60 - rt::unwind::try::try_fn::h6518866316425934196
22: 0x7fe84783f400 - rust_try_inner
23: 0x7fe84783f3f0 - rust_try
24: 0x7fe847dbcfb0 - thunk::F.Invoke<A, R>::invoke::h15513809553472565307
25: 0x7fe8477c4e40 - sys::thread::thread_start::h5ea7ba97235331d5a9v
26: 0x7fe841e130c0 - start_thread
27: 0x7fe8473e4ec9 - __clone
28: 0x0 - <unknown>

uname --all

Linux <host>-Ubuntu 3.13.0-39-generic #66-Ubuntu SMP Tue Oct 28 13:30:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Source code

use std::iter::AdditiveIterator;

struct Fibonacci {
curr: uint,
next: uint,
}

fn fib() -> Fibonacci {
Fibonacci {curr: 1, next: 2}
}

impl Iterator for Fibonacci {
fn next(&mut self) -> uint {
let curr = self.curr;
self.curr = self.next;
self.next = curr + self.next;
curr
}
}

fn initial() -> uint {
fib().take(5).sum();
}

fn main() {
println!("Initial: {}", initial());
}

Issue 2:
I was sloppy when I implemented #22173 and did not include a test. So, surprise, a follow-on commit a few days later broke it.

As self-punishment for neglecting to include a regression test, I am assigning myself the task of reviewing our test suite to make sure that every feature-gate has a test.

Here is a transcribed list of feature gates, based on feature_gate.rs, that I have annotated according to whether the feature is Accepted/Removed (and thus needs no tests), Active/Deprecated but has tests already (marked with an x, or Active/Deprecated but has no tests that I saw via a cursory grep/skim.

- ("globs", "1.0.0", Accepted),

- ("macro_rules", "1.0.0", Accepted),

- ("struct_variant", "1.0.0", Accepted),

- ("asm", "1.0.0", Active),

asm-gated.rs

asm-gated2.rs

- ("managed_boxes", "1.0.0", Removed),

- ("non_ascii_idents", "1.0.0", Active),

gated-non-ascii-idents.rs

- ("thread_local", "1.0.0", Active),

#23226

- ("link_args", "1.0.0", Active),

#23226

- ("phase", "1.0.0", Removed),

- ("plugin_registrar", "1.0.0", Active),

gated-plugin_registrar.rs but it is not clear whether this is testing the plugin gate or the plugin_registrar gate. From the error message it seems like the plugin_registrar gate is firing.

- ("log_syntax", "1.0.0", Active),

log-syntax-gate.rs

log-syntax-gate2.rs

- ("trace_macros", "1.0.0", Active),

gated-trace_macros.rs

- ("concat_idents", "1.0.0", Active),

concat_idents-gate.rs

concat_idents-gate2.rs

- ("unsafe_destructor", "1.0.0", Active),

#23226

- ("intrinsics", "1.0.0", Active),

feature-gate-intrinsics.rs

- ("lang_items", "1.0.0", Active),

feature-gate-lang-items.rs

- ("simd", "1.0.0", Active),

gated-simd.rs

- ("default_type_params", "1.0.0", Accepted),

- ("quote", "1.0.0", Active),

#23226

- ("link_llvm_intrinsics", "1.0.0", Active),

#23226

- ("linkage", "1.0.0", Active),

linkage1.rs

- ("struct_inherit", "1.0.0", Removed),

- ("quad_precision_float", "1.0.0", Removed),

- ("rustc_diagnostic_macros", "1.0.0", Active),

- ("unboxed_closures", "1.0.0", Active),

- ("import_shadowing", "1.0.0", Removed),

- ("advanced_slice_patterns", "1.0.0", Active),

- ("tuple_indexing", "1.0.0", Accepted),

- ("associated_types", "1.0.0", Accepted),

- ("visible_private_types", "1.0.0", Active),

- ("slicing_syntax", "1.0.0", Accepted),

- ("box_syntax", "1.0.0", Active), gated-box-syntax.rs

- ("on_unimplemented", "1.0.0", Active),

- ("simd_ffi", "1.0.0", Active), gated-simd-ffi.rs

- ("if_let", "1.0.0", Accepted),

- ("while_let", "1.0.0", Accepted),

- ("plugin", "1.0.0", Active),

gated-plugin_registrar.rs but it is not clear whether this is testing the plugin gate or the plugin_registrar gate

- ("start", "1.0.0", Active),

feature-gate-start.rs

- ("main", "1.0.0", Active),

feature-gate-main.rs

- ("issue_5723_bootstrap", "1.0.0", Accepted),

- ("opt_out_copy", "1.0.0", Removed),

- ("old_orphan_check", "1.0.0", Deprecated),

- ("old_impl_check", "1.0.0", Deprecated),

- ("optin_builtin_traits", "1.0.0", Active),

- ("int_uint", "1.0.0", Active),

feature-gate-int-uint.rs

- ("macro_reexport", "1.0.0", Active), gated-macro-reexports.rs

- ("test_accepted_feature", "1.0.0", Accepted),

- ("test_removed_feature", "1.0.0", Removed),

- ("staged_api", "1.0.0", Active), staged_api.rs

- ("unmarked_api", "1.0.0", Active),

- ("no_std", "1.0.0", Active),

gated-no-std.rs

- ("box_patterns", "1.0.0", Active), gated-box-patterns.rs

- ("unsafe_no_drop_flag", "1.0.0", Active),

unsafe_no_drop_flag-gate.rs

- ("custom_attribute", "1.0.0", Active),

- ("custom_derive", "1.0.0", Active), single-derive-attr.rs

- ("rustc_attrs", "1.0.0", Active),

- ("static_assert", "1.0.0", Active),

feature-gate-static-assert.rs

- ("allow_internal_unstable", "1.0.0", Active),

feature-gate-allow-internal-unstable.rs

feature-gate-allow-internal-unstable-nested-macro.rs