rust/src/librustc/middle
bors c10918905f Auto merge of #23452 - nikomatsakis:unsafety-subtyping, r=nrc
Safe fns are no longer subtypes of unsafe fns, but you can coerce from one to the other.

This is a [breaking-change] in that impl fns must now be declared `unsafe` if the trait is declared `unsafe`. In some rare cases, the subtyping change may also direct affect you, but no such cases were encountered in practice.

Fixes #23449.

r? @nrc
2015-03-18 03:22:12 +00:00
..
cfg Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
infer Move unsafety out of the subtyping relation and into coercion. 2015-03-17 17:29:07 -04:00
traits Rollup merge of #23385 - tamird:cleanup-whitespace, r=alexcrichton 2015-03-17 15:21:22 +05:30
astconv_util.rs remove some compiler warnings 2015-02-26 07:21:26 +02:00
astencode.rs Move unsafety out of the subtyping relation and into coercion. 2015-03-17 17:29:07 -04:00
check_const.rs Address arith-overflow and error-handling in const_eval.rs. 2015-03-03 12:10:57 +01:00
check_loop.rs Remove the explicit closure kind syntax from the parser and AST; 2015-02-03 11:56:16 -05:00
check_match.rs impl f{32,64} 2015-03-16 21:57:43 -05:00
check_rvalues.rs core: split into fmt::Show and fmt::String 2015-01-06 14:49:42 -08:00
check_static_recursion.rs Implement <T>::method UFCS expression syntax. 2015-02-24 14:16:02 +02:00
const_eval.rs First-class struct and tuple constants 2015-03-11 21:17:25 +01:00
dataflow.rs std: Deprecate std::old_io::fs 2015-03-04 15:59:30 -08:00
dead.rs Revert "Extend dead code lint to detect more unused enum variants" 2015-03-14 12:14:32 +05:30
def.rs rustc: combine partial_def_map and last_private_map into def_map. 2015-02-24 14:16:02 +02:00
dependency_format.rs Remove remaining uses of []. This time I tried to use deref coercions where possible. 2015-02-20 14:08:14 -05:00
effect.rs syntax: move MethMac to MacImplItem and combine {Provided,Required}Method into MethodTraitItem. 2015-03-11 23:39:16 +02:00
entry.rs Revert #22051 2015-02-11 19:28:02 +02:00
expr_use_visitor.rs Move unsafety out of the subtyping relation and into coercion. 2015-03-17 17:29:07 -04:00
fast_reject.rs Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
graph.rs Implement RFC 580 2015-02-18 14:01:46 -05:00
intrinsicck.rs Register new snapshots 2015-01-06 15:24:24 -08:00
lang_items.rs Replace TyDesc and its uses with trait vtables and a type_name intrinsic. 2015-03-17 21:00:23 +02:00
liveness.rs Fallout of std::old_io deprecation 2015-03-13 10:00:28 -07:00
mem_categorization.rs Move unsafety out of the subtyping relation and into coercion. 2015-03-17 17:29:07 -04:00
pat_util.rs Revert "Extend dead code lint to detect more unused enum variants" 2015-03-14 12:14:32 +05:30
privacy.rs rustc: combine partial_def_map and last_private_map into def_map. 2015-02-24 14:16:02 +02:00
reachable.rs syntax: move MethMac to MacImplItem and combine {Provided,Required}Method into MethodTraitItem. 2015-03-11 23:39:16 +02:00
recursion_limit.rs for x in xs.iter() -> for x in &xs 2015-02-02 13:40:18 -05:00
region.rs Remove the synthetic "region bound" from closures and instead update how 2015-03-02 05:45:41 -05:00
resolve_lifetime.rs syntax: move MethMac to MacImplItem and combine {Provided,Required}Method into MethodTraitItem. 2015-03-11 23:39:16 +02:00
stability.rs syntax: gather common fields of impl & trait items into their respective types. 2015-03-11 23:39:16 +02:00
subst.rs Remove remaining uses of []. This time I tried to use deref coercions where possible. 2015-02-20 14:08:14 -05:00
ty_fold.rs Remove subtyping for object types and replace with an *upcast* coercion. 2015-03-17 08:34:25 -04:00
ty_walk.rs Remove explicit syntax highlight from docs. 2015-03-13 19:25:18 -04:00
ty.rs Auto merge of #23452 - nikomatsakis:unsafety-subtyping, r=nrc 2015-03-18 03:22:12 +00:00
weak_lang_items.rs Replace all uses of &foo[] with &foo[..] en masse. 2015-02-18 17:36:03 -05:00