]> git.lizzy.rs Git - rust.git/commit
Allow binding of nested patterns
authorMarijn Haverbeke <marijnh@gmail.com>
Thu, 8 Dec 2011 10:56:16 +0000 (11:56 +0100)
committerMarijn Haverbeke <marijnh@gmail.com>
Thu, 8 Dec 2011 11:03:48 +0000 (12:03 +0100)
commit9a269a3aa8fe8140ad3f2fc2cfdfd68d6b40ec86
treeefb59785d520476c50204eadce27bfb9128ca512
parent8c966b7b18a5529c33dd9766460880bd681ab102
Allow binding of nested patterns

See src/test/run-pass/nested-patterns.rs for some examples. The syntax is

    boundvar@subpattern

Which will match the subpattern as usual, but also bind boundvar to the
whole matched value.

Closes #838
17 files changed:
src/comp/middle/alias.rs
src/comp/middle/check_alt.rs
src/comp/middle/resolve.rs
src/comp/middle/trans.rs
src/comp/middle/trans_alt.rs
src/comp/middle/tstate/auxiliary.rs
src/comp/middle/tstate/collect_locals.rs
src/comp/middle/tstate/pre_post_conditions.rs
src/comp/middle/tstate/states.rs
src/comp/middle/typeck.rs
src/comp/syntax/ast.rs
src/comp/syntax/ast_util.rs
src/comp/syntax/fold.rs
src/comp/syntax/parse/parser.rs
src/comp/syntax/print/pprust.rs
src/comp/syntax/visit.rs
src/test/run-pass/nested-patterns.rs [new file with mode: 0644]