]> git.lizzy.rs Git - rust.git/commit
Implement generalized object and type parameter bounds (Fixes #16462)
authorNiko Matsakis <niko@alum.mit.edu>
Thu, 28 Aug 2014 01:46:52 +0000 (21:46 -0400)
committerNiko Matsakis <niko@alum.mit.edu>
Thu, 28 Aug 2014 01:46:52 +0000 (21:46 -0400)
commit1b487a890695e7d6dfbfe5dcd7d4fa0e8ca8003f
tree552fabade603ab0d148a49ae3cf1abd3f399740a
parent3ee047ae1ffab454270bc1859b3beef3556ef8f9
Implement generalized object and type parameter bounds (Fixes #16462)
279 files changed:
src/liballoc/boxed.rs
src/libcollections/dlist.rs
src/libcollections/priority_queue.rs
src/libcollections/ringbuf.rs
src/libcollections/smallintmap.rs
src/libcollections/treemap.rs
src/libcollections/trie.rs
src/libcollections/vec.rs
src/libcore/any.rs
src/libcore/cell.rs
src/libcore/finally.rs
src/libcore/fmt/mod.rs
src/libcore/iter.rs
src/libcore/lib.rs
src/libcore/mem.rs
src/libcore/slice.rs
src/libdebug/lib.rs
src/libdebug/repr.rs
src/libfourcc/lib.rs
src/libgraphviz/lib.rs
src/libgraphviz/maybe_owned_vec.rs
src/libgreen/simple.rs
src/libgreen/task.rs
src/libhexfloat/lib.rs
src/libnative/task.rs
src/librand/distributions/mod.rs
src/librand/lib.rs
src/librbml/lib.rs
src/libregex_macros/lib.rs
src/librustc/driver/driver.rs
src/librustc/front/feature_gate.rs
src/librustc/lib.rs
src/librustc/metadata/common.rs
src/librustc/metadata/decoder.rs
src/librustc/metadata/encoder.rs
src/librustc/metadata/tydecode.rs
src/librustc/metadata/tyencode.rs
src/librustc/middle/astencode.rs
src/librustc/middle/cfg/construct.rs
src/librustc/middle/check_match.rs
src/librustc/middle/dataflow.rs
src/librustc/middle/expr_use_visitor.rs
src/librustc/middle/graph.rs
src/librustc/middle/kind.rs
src/librustc/middle/mem_categorization.rs
src/librustc/middle/privacy.rs
src/librustc/middle/region.rs
src/librustc/middle/resolve.rs
src/librustc/middle/resolve_lifetime.rs
src/librustc/middle/save/mod.rs
src/librustc/middle/save/recorder.rs
src/librustc/middle/subst.rs
src/librustc/middle/trans/_match.rs
src/librustc/middle/trans/cleanup.rs
src/librustc/middle/trans/debuginfo.rs
src/librustc/middle/trans/glue.rs
src/librustc/middle/ty.rs
src/librustc/middle/ty_fold.rs
src/librustc/middle/typeck/astconv.rs
src/librustc/middle/typeck/check/method.rs
src/librustc/middle/typeck/check/mod.rs
src/librustc/middle/typeck/check/regionck.rs
src/librustc/middle/typeck/check/regionmanip.rs
src/librustc/middle/typeck/check/vtable.rs
src/librustc/middle/typeck/collect.rs
src/librustc/middle/typeck/infer/combine.rs
src/librustc/middle/typeck/infer/error_reporting.rs
src/librustc/middle/typeck/infer/glb.rs
src/librustc/middle/typeck/infer/lub.rs
src/librustc/middle/typeck/infer/mod.rs
src/librustc/middle/typeck/infer/region_inference/mod.rs
src/librustc/middle/typeck/infer/sub.rs
src/librustc/middle/typeck/infer/unify.rs
src/librustc/middle/typeck/rscope.rs
src/librustc/util/common.rs
src/librustc/util/ppaux.rs
src/librustc_llvm/lib.rs
src/librustdoc/clean/inline.rs
src/librustdoc/clean/mod.rs
src/librustdoc/doctree.rs
src/librustdoc/html/format.rs
src/librustdoc/html/render.rs
src/librustdoc/visit_ast.rs
src/librustrt/exclusive.rs
src/librustrt/lib.rs
src/librustrt/local_data.rs
src/librustrt/rtio.rs
src/librustrt/task.rs
src/librustuv/access.rs
src/librustuv/timeout.rs
src/libserialize/json.rs
src/libserialize/lib.rs
src/libstd/collections/hashmap.rs
src/libstd/io/extensions.rs
src/libstd/io/mod.rs
src/libstd/io/util.rs
src/libstd/lib.rs
src/libstd/path/mod.rs
src/libstd/rt/backtrace.rs
src/libsync/comm/mod.rs
src/libsync/comm/select.rs
src/libsync/lib.rs
src/libsync/lock.rs
src/libsync/raw.rs
src/libsync/spsc_queue.rs
src/libsyntax/ast.rs
src/libsyntax/ast_map/mod.rs
src/libsyntax/ast_util.rs
src/libsyntax/diagnostics/plugin.rs
src/libsyntax/ext/asm.rs
src/libsyntax/ext/base.rs
src/libsyntax/ext/bytes.rs
src/libsyntax/ext/cfg.rs
src/libsyntax/ext/concat.rs
src/libsyntax/ext/concat_idents.rs
src/libsyntax/ext/deriving/generic/mod.rs
src/libsyntax/ext/env.rs
src/libsyntax/ext/expand.rs
src/libsyntax/ext/fmt.rs
src/libsyntax/ext/format.rs
src/libsyntax/ext/log_syntax.rs
src/libsyntax/ext/quote.rs
src/libsyntax/ext/source_util.rs
src/libsyntax/ext/trace_macros.rs
src/libsyntax/ext/tt/macro_rules.rs
src/libsyntax/fold.rs
src/libsyntax/lib.rs
src/libsyntax/parse/parser.rs
src/libsyntax/print/pp.rs
src/libsyntax/print/pprust.rs
src/libsyntax/visit.rs
src/libtest/lib.rs
src/test/auxiliary/issue-2380.rs
src/test/auxiliary/issue-7178.rs
src/test/auxiliary/macro_crate_test.rs
src/test/auxiliary/regions-bounded-method-type-parameters-cross-crate-lib.rs [new file with mode: 0644]
src/test/auxiliary/syntax-extension-with-dll-deps-2.rs
src/test/bench/shootout-fasta-redux.rs
src/test/bench/shootout-meteor.rs
src/test/compile-fail/bad-method-typaram-kind.rs
src/test/compile-fail/borrowck-call-sendfn.rs
src/test/compile-fail/borrowck-object-lifetime.rs
src/test/compile-fail/box-static-bound.rs
src/test/compile-fail/builtin-superkinds-self-type.rs
src/test/compile-fail/closure-bounds-cant-promote-superkind-in-struct.rs
src/test/compile-fail/closure-bounds-static-cant-capture-borrowed.rs
src/test/compile-fail/closure-bounds-subtype.rs
src/test/compile-fail/drop-on-non-struct.rs
src/test/compile-fail/issue-12470.rs [new file with mode: 0644]
src/test/compile-fail/issue-14285.rs
src/test/compile-fail/issue-3154.rs
src/test/compile-fail/issue-3907-2.rs
src/test/compile-fail/issue-3953.rs
src/test/compile-fail/issue-4972.rs
src/test/compile-fail/issue-5035-2.rs
src/test/compile-fail/issue-5216.rs
src/test/compile-fail/issue-5883.rs
src/test/compile-fail/isuue-12470.rs [deleted file]
src/test/compile-fail/kindck-impl-type-params.rs
src/test/compile-fail/kindck-owned-trait-contains.rs [deleted file]
src/test/compile-fail/kindck-proc-bounds.rs [new file with mode: 0644]
src/test/compile-fail/kindck-send-object.rs [new file with mode: 0644]
src/test/compile-fail/kindck-send.rs [deleted file]
src/test/compile-fail/lifetime-inference-give-expl-lifetime-param-3.rs [new file with mode: 0644]
src/test/compile-fail/lifetime-inference-give-expl-lifetime-param.rs
src/test/compile-fail/moves-sru-moved-field.rs
src/test/compile-fail/owned-ptr-static-bound.rs [deleted file]
src/test/compile-fail/proc-bounds.rs [deleted file]
src/test/compile-fail/proc-static-bound.rs [deleted file]
src/test/compile-fail/region-bounds-on-objects-and-type-parameters.rs [new file with mode: 0644]
src/test/compile-fail/region-object-lifetime-1.rs [new file with mode: 0644]
src/test/compile-fail/regionck-closure-lifetimes.rs
src/test/compile-fail/regionck-unboxed-closure-lifetimes.rs
src/test/compile-fail/regions-bound-lists-feature-gate-2.rs [deleted file]
src/test/compile-fail/regions-bound-lists-feature-gate.rs [deleted file]
src/test/compile-fail/regions-bound-missing-bound-in-impl.rs [new file with mode: 0644]
src/test/compile-fail/regions-bounded-by-send.rs [new file with mode: 0644]
src/test/compile-fail/regions-bounded-by-trait-requiring-static.rs [new file with mode: 0644]
src/test/compile-fail/regions-bounded-method-type-parameters-cross-crate.rs [new file with mode: 0644]
src/test/compile-fail/regions-bounded-method-type-parameters-trait-bound.rs [new file with mode: 0644]
src/test/compile-fail/regions-bounded-method-type-parameters.rs [new file with mode: 0644]
src/test/compile-fail/regions-close-object-into-object.rs [new file with mode: 0644]
src/test/compile-fail/regions-close-over-borrowed-ref-in-obj.rs [new file with mode: 0644]
src/test/compile-fail/regions-close-over-type-parameter-1.rs [new file with mode: 0644]
src/test/compile-fail/regions-close-over-type-parameter-2.rs [new file with mode: 0644]
src/test/compile-fail/regions-early-bound-error.rs
src/test/compile-fail/regions-enum-not-wf.rs [new file with mode: 0644]
src/test/compile-fail/regions-escape-bound-fn-2.rs
src/test/compile-fail/regions-escape-via-trait-or-not.rs
src/test/compile-fail/regions-free-region-ordering-callee.rs
src/test/compile-fail/regions-free-region-ordering-caller.rs
src/test/compile-fail/regions-free-region-ordering-incorrect.rs
src/test/compile-fail/regions-freevar.rs
src/test/compile-fail/regions-infer-bound-from-trait-self.rs [new file with mode: 0644]
src/test/compile-fail/regions-infer-bound-from-trait.rs [new file with mode: 0644]
src/test/compile-fail/regions-infer-region-in-fn-but-not-type.rs
src/test/compile-fail/regions-lifetime-bounds-on-fns.rs [new file with mode: 0644]
src/test/compile-fail/regions-proc-bound-capture.rs [new file with mode: 0644]
src/test/compile-fail/regions-proc-bounds.rs [new file with mode: 0644]
src/test/compile-fail/regions-reborrow-from-shorter-mut-ref-mut-ref.rs
src/test/compile-fail/regions-ret-borrowed-1.rs
src/test/compile-fail/regions-ret-borrowed.rs
src/test/compile-fail/regions-struct-not-wf.rs [new file with mode: 0644]
src/test/compile-fail/regions-trait-variance.rs
src/test/compile-fail/regions-variance-covariant-use-contravariant.rs
src/test/compile-fail/regions-variance-invariant-use-contravariant.rs
src/test/compile-fail/regions-variance-invariant-use-covariant.rs
src/test/compile-fail/selftype-traittype.rs
src/test/compile-fail/static-region-bound.rs
src/test/compile-fail/trailing-plus-in-bounds.rs
src/test/compile-fail/trait-bounds-sugar.rs
src/test/compile-fail/typeck_type_placeholder_lifetime_1.rs
src/test/compile-fail/typeck_type_placeholder_lifetime_2.rs
src/test/compile-fail/unconstrained-ref.rs
src/test/compile-fail/unsized4.rs
src/test/compile-fail/use-after-move-implicity-coerced-object.rs
src/test/compile-fail/variance-regions-direct.rs
src/test/compile-fail/variance-regions-indirect.rs
src/test/pretty/closure-reform-pretty.rs
src/test/pretty/issue-4264.pp
src/test/pretty/path-type-bounds.rs
src/test/run-make/graphviz-flowgraph/f01.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f02.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f03.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f04.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f05.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f06.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f07.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f08.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f09.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f10.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f11.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f12.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f13.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f14.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f15.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f16.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f17.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f18.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f19.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f20.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f21.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f22.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f23.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f24.dot-expected.dot
src/test/run-make/graphviz-flowgraph/f25.dot-expected.dot
src/test/run-pass/alignment-gep-tup-like-1.rs
src/test/run-pass/borrowck-freeze-frozen-mut.rs
src/test/run-pass/close-over-big-then-small-data.rs
src/test/run-pass/closure-reform.rs
src/test/run-pass/closure-syntax.rs
src/test/run-pass/colorful-write-macros.rs
src/test/run-pass/explicit-self-generic.rs
src/test/run-pass/issue-10802.rs
src/test/run-pass/issue-11205.rs
src/test/run-pass/issue-11612.rs
src/test/run-pass/issue-11677.rs
src/test/run-pass/issue-14958.rs
src/test/run-pass/issue-14959.rs
src/test/run-pass/issue-2734.rs
src/test/run-pass/issue-2735.rs
src/test/run-pass/issue-3424.rs
src/test/run-pass/issue-5192.rs
src/test/run-pass/issue-5554.rs
src/test/run-pass/issue-5708.rs
src/test/run-pass/issue-6318.rs
src/test/run-pass/issue-8249.rs
src/test/run-pass/issue-9719.rs
src/test/run-pass/kindck-owned-trait-contains-1.rs
src/test/run-pass/newlambdas-ret-infer.rs
src/test/run-pass/newlambdas-ret-infer2.rs
src/test/run-pass/overloaded-autoderef-indexing.rs
src/test/run-pass/regions-early-bound-trait-param.rs
src/test/run-pass/regions-early-bound-used-in-bound.rs
src/test/run-pass/swap-overlapping.rs
src/test/run-pass/trait-bounds-impl-comparison-duplicates.rs
src/test/run-pass/trait-bounds-on-structs-and-enums.rs
src/test/run-pass/trait-object-generics.rs
src/test/run-pass/unboxed-closures-boxed.rs