]> git.lizzy.rs Git - rust.git/commit
Split TyBareFn into TyFnDef and TyFnPtr.
authorEli Friedman <eli.friedman@gmail.com>
Sat, 13 Jun 2015 20:15:03 +0000 (13:15 -0700)
committerEduard Burtescu <edy.burt@gmail.com>
Wed, 9 Mar 2016 14:45:28 +0000 (16:45 +0200)
commitb423a0f9ef488ca4cd9ff620a44566bb441eb21f
treeae43c17551512f743c1de53035a7f523b32aa6fa
parent4b868411afee1208cfb18f7440df991b9f94265f
Split TyBareFn into TyFnDef and TyFnPtr.

There's a lot of stuff wrong with the representation of these types:
TyFnDef doesn't actually uniquely identify a function, TyFnPtr is used to
represent method calls, TyFnDef in the sub-expression of a cast isn't
correctly reified, and probably some other stuff I haven't discovered yet.
Splitting them seems like the right first step, though.
73 files changed:
src/librustc/middle/effect.rs
src/librustc/middle/expr_use_visitor.rs
src/librustc/middle/infer/freshen.rs
src/librustc/middle/intrinsicck.rs
src/librustc/middle/traits/coherence.rs
src/librustc/middle/traits/select.rs
src/librustc/middle/ty/adjustment.rs
src/librustc/middle/ty/cast.rs
src/librustc/middle/ty/contents.rs
src/librustc/middle/ty/context.rs
src/librustc/middle/ty/error.rs
src/librustc/middle/ty/fast_reject.rs
src/librustc/middle/ty/flags.rs
src/librustc/middle/ty/outlives.rs
src/librustc/middle/ty/relate.rs
src/librustc/middle/ty/structural_impls.rs
src/librustc/middle/ty/sty.rs
src/librustc/middle/ty/util.rs
src/librustc/middle/ty/walk.rs
src/librustc/middle/ty/wf.rs
src/librustc/util/ppaux.rs
src/librustc_driver/test.rs
src/librustc_lint/builtin.rs
src/librustc_lint/types.rs
src/librustc_metadata/decoder.rs
src/librustc_metadata/tydecode.rs
src/librustc_metadata/tyencode.rs
src/librustc_mir/build/expr/into.rs
src/librustc_mir/hair/cx/expr.rs
src/librustc_mir/transform/type_check.rs
src/librustc_passes/consts.rs
src/librustc_privacy/lib.rs
src/librustc_trans/trans/adt.rs
src/librustc_trans/trans/attributes.rs
src/librustc_trans/trans/base.rs
src/librustc_trans/trans/callee.rs
src/librustc_trans/trans/closure.rs
src/librustc_trans/trans/collector.rs
src/librustc_trans/trans/common.rs
src/librustc_trans/trans/consts.rs
src/librustc_trans/trans/debuginfo/metadata.rs
src/librustc_trans/trans/debuginfo/mod.rs
src/librustc_trans/trans/debuginfo/type_names.rs
src/librustc_trans/trans/declare.rs
src/librustc_trans/trans/expr.rs
src/librustc_trans/trans/foreign.rs
src/librustc_trans/trans/intrinsic.rs
src/librustc_trans/trans/meth.rs
src/librustc_trans/trans/mir/block.rs
src/librustc_trans/trans/type_of.rs
src/librustc_typeck/astconv.rs
src/librustc_typeck/check/callee.rs
src/librustc_typeck/check/coercion.rs
src/librustc_typeck/check/compare_method.rs
src/librustc_typeck/check/dropck.rs
src/librustc_typeck/check/intrinsic.rs
src/librustc_typeck/check/method/confirm.rs
src/librustc_typeck/check/method/mod.rs
src/librustc_typeck/check/method/suggest.rs
src/librustc_typeck/check/mod.rs
src/librustc_typeck/check/regionck.rs
src/librustc_typeck/check/wfcheck.rs
src/librustc_typeck/coherence/mod.rs
src/librustc_typeck/collect.rs
src/librustc_typeck/constrained_type_params.rs
src/librustc_typeck/lib.rs
src/librustc_typeck/variance/constraints.rs
src/librustdoc/clean/inline.rs
src/librustdoc/clean/mod.rs
src/test/auxiliary/issue13507.rs
src/test/compile-fail/invalid-intrinsic.rs [new file with mode: 0644]
src/test/compile-fail/variadic-ffi-3.rs
src/test/run-pass/issue-13507-2.rs