rust/src/test
bors f93aaf84cb Auto merge of #34365 - petrochenkov:deferr, r=eddyb
Some more pattern cleanup and bugfixing

The next part of https://github.com/rust-lang/rust/pull/34095

The most significant fixed mistake is definitions for partially resolved associated types not being updated after full resolution.
```
fn f<T: Fn()>(arg: T::Output) { .... } // <- the definition of T::Output was not updated in def_map
```
For this reason unstable associated types of stable traits, like `FnOnce::Output`, could be used in stable code when written in unqualified form. Now they are properly checked, this is a **[breaking-change]** (pretty minor one, but a crater run would be nice). The fix is not to use unstable library features in stable code, alternatively `FnOnce::Output` can be stabilized.

Besides that, paths in struct patterns and expressions `S::A { .. }` are now fully resolved as associated types. Such types cannot be identified as structs at the moment, i.e. the change doesn't make previously invalid code valid, but it improves error diagnostics.

Other changes: `Def::Err` is supported better (less chances for ICEs for erroneous code), some incorrect error messages are corrected, some duplicated error messages are not reported, ADT definitions are now available through constructor IDs, everything else is cleanup and code audit.

Fixes https://github.com/rust-lang/rust/issues/34209
Closes https://github.com/rust-lang/rust/issues/22933 (adds tests)

r? @eddyb
2016-07-09 15:16:21 -07:00
..
codegen Fix codegen tests by make sure items are translated in AST order. 2016-07-08 10:42:47 -04:00
codegen-units trans: Adjust linkage assignment so that we don't need weak linkage. 2016-07-08 10:42:48 -04:00
compile-fail Stabilize FnOnce::Output + Fix rebase 2016-07-08 13:35:17 +03:00
compile-fail-fulldeps Add tests + Fix rustdoc regression + Fix rebase 2016-07-08 12:42:57 +03:00
debuginfo
incremental
parse-fail
pretty
run-fail
run-fail-fulldeps
run-make
run-pass trans: Make sure that closures only get translated once. 2016-07-09 12:15:34 -04:00
run-pass-fulldeps
run-pass-valgrind
rustdoc
ui