rust/src
bors 440ef8b154 Auto merge of #30184 - petrochenkov:ascr, r=nikomatsakis
This PR is a rebase of the original PR by @eddyb https://github.com/rust-lang/rust/pull/21836 with some unrebasable parts manually reapplied, feature gate added + type equality restriction added as described below.

This implementation is partial because the type equality restriction is applied to all type ascription expressions and not only those in lvalue contexts. Thus, all difficulties with detection of these contexts and translation of coercions having effect in runtime are avoided.
So, you can't write things with coercions like `let slice = &[1, 2, 3]: &[u8];`. It obviously makes type ascription less useful than it should be, but it's still much more useful than not having type ascription at all.
In particular, things like `let v = something.iter().collect(): Vec<_>;` and `let u = t.into(): U;` work as expected and I'm pretty happy with these improvements alone.

Part of https://github.com/rust-lang/rust/issues/23416
2015-12-19 02:45:15 +00:00
..
compiler-rt@b6087e82ba Update compiler-rt 2015-11-07 00:26:44 +08:00
compiletest Remove unused imports 2015-12-17 05:43:27 +00:00
doc Auto merge of #30184 - petrochenkov:ascr, r=nikomatsakis 2015-12-19 02:45:15 +00:00
driver Run rustfmt on driver. 2015-10-11 23:41:43 -07:00
error-index-generator Run rustfmt on error-index-generator. 2015-10-11 23:44:32 -07:00
etc Better support for --llvm-root. 2015-12-13 15:05:43 -06:00
grammar fix rustc-test 2015-11-26 19:19:54 +02:00
jemalloc@e24a1a025a
liballoc Auto merge of #30182 - alexcrichton:remove-deprecated, r=aturon 2015-12-10 19:54:15 +00:00
liballoc_jemalloc std: Stabilize APIs for the 1.6 release 2015-12-05 15:09:44 -08:00
liballoc_system std: Stabilize APIs for the 1.6 release 2015-12-05 15:09:44 -08:00
libarena Auto merge of #30015 - petrochenkov:staged, r=brson 2015-11-26 10:22:37 +00:00
libbacktrace Clean whitespace 2015-10-19 11:16:31 -04:00
libcollections Auto merge of #29973 - petrochenkov:privinpub, r=nikomatsakis 2015-12-18 18:54:52 +00:00
libcollectionstest restore tests accidentally removed in #30182 2015-12-13 01:02:12 -05:00
libcore Auto merge of #30445 - steveklabnik:rollup, r=steveklabnik 2015-12-17 20:08:48 +00:00
libcoretest restore tests accidentally removed in #30182 2015-12-13 01:02:12 -05:00
libflate Auto merge of #30015 - petrochenkov:staged, r=brson 2015-11-26 10:22:37 +00:00
libfmt_macros Auto merge of #30015 - petrochenkov:staged, r=brson 2015-11-26 10:22:37 +00:00
libgetopts Change internal getopts so --a=b=c acts like --a b=c rather than --a b. 2015-12-04 22:02:09 +01:00
libgraphviz Auto merge of #30015 - petrochenkov:staged, r=brson 2015-11-26 10:22:37 +00:00
liblibc@9863d5645f Update liblibc to current master 2015-12-18 13:32:14 +01:00
liblog std: Stabilize APIs for the 1.6 release 2015-12-05 15:09:44 -08:00
librand std: Remove deprecated functionality from 1.5 2015-12-10 11:47:55 -08:00
librbml Auto merge of #30140 - michaelwoerister:tls-encoding, r=nikomatsakis 2015-12-09 15:10:37 +00:00
librustc Auto merge of #30184 - petrochenkov:ascr, r=nikomatsakis 2015-12-19 02:45:15 +00:00
librustc_back Auto merge of #30184 - petrochenkov:ascr, r=nikomatsakis 2015-12-19 02:45:15 +00:00
librustc_bitflags std: Stabilize APIs for the 1.6 release 2015-12-05 15:09:44 -08:00
librustc_borrowck Remove unused imports 2015-12-17 05:43:27 +00:00
librustc_data_structures fix dropck performance regression 2015-12-12 19:02:33 +02:00
librustc_driver test errors 2015-12-17 10:00:16 +13:00
librustc_front Auto merge of #30184 - petrochenkov:ascr, r=nikomatsakis 2015-12-19 02:45:15 +00:00
librustc_lint Auto merge of #30184 - petrochenkov:ascr, r=nikomatsakis 2015-12-19 02:45:15 +00:00
librustc_llvm Fix emitting asm and object file output at the same time 2015-12-18 04:14:52 +01:00
librustc_metadata Rollup merge of #30384 - nrc:diagnostics, r=@nikomatsakis 2015-12-18 16:47:37 +05:30
librustc_mir Auto merge of #30184 - petrochenkov:ascr, r=nikomatsakis 2015-12-19 02:45:15 +00:00
librustc_platform_intrinsics Remove all uses of #[staged_api] 2015-11-25 21:55:26 +03:00
librustc_plugin move error handling from libsyntax/diagnostics.rs to libsyntax/errors/* 2015-12-17 09:35:50 +13:00
librustc_privacy Do not substitute type aliases during error reporting 2015-12-18 20:57:36 +03:00
librustc_resolve Prohibit public glob reexports of private variants 2015-12-18 04:14:46 +03:00
librustc_trans Auto merge of #30184 - petrochenkov:ascr, r=nikomatsakis 2015-12-19 02:45:15 +00:00
librustc_typeck Auto merge of #30184 - petrochenkov:ascr, r=nikomatsakis 2015-12-19 02:45:15 +00:00
librustc_unicode Auto merge of #30182 - alexcrichton:remove-deprecated, r=aturon 2015-12-10 19:54:15 +00:00
librustdoc Rollup merge of #30420 - petrochenkov:owned2, r=nrc 2015-12-18 20:02:12 +05:30
libserialize Remove all uses of #[staged_api] 2015-11-25 21:55:26 +03:00
libstd Auto merge of #30381 - fhahn:memchr-in-std, r=alexcrichton 2015-12-19 00:57:25 +00:00
libsyntax Auto merge of #30184 - petrochenkov:ascr, r=nikomatsakis 2015-12-19 02:45:15 +00:00
libsyntax_ext Auto merge of #30184 - petrochenkov:ascr, r=nikomatsakis 2015-12-19 02:45:15 +00:00
libterm libterm: bring across changes from term 2015-12-03 19:27:59 +13:00
libtest Remove unused imports 2015-12-17 05:43:27 +00:00
llvm@3564439515 Disable the null check elimination pass 2015-12-02 18:19:10 +01:00
rt Add test case for #28676. 2015-10-14 14:51:26 -06:00
rtstartup std: Stabilize APIs for the 1.6 release 2015-12-05 15:09:44 -08:00
rust-installer@c37d3747da
rustbook fixes #17017 (update padding:11px line 142 of rustbook.css) 2015-09-28 12:11:18 -05:00
rustllvm Disable the null check elimination pass 2015-12-02 18:19:10 +01:00
test Auto merge of #30184 - petrochenkov:ascr, r=nikomatsakis 2015-12-19 02:45:15 +00:00
snapshots.txt