summary refs log tree commit diff
path: root/src/test/run-pass/match-enum-struct-0.rs
AgeCommit message (Collapse)AuthorLines
2014-04-14Use new attribute syntax in python files in src/etc too (#13478)Manish Goregaokar-1/+1
2013-10-22Drop the '2' suffix from logging macrosAlex Crichton-1/+1
Who doesn't like a massive renaming?
2013-10-06Add appropriate #[feature] directives to testsAlex Crichton-0/+2
2013-09-30rpass: Remove usage of fmt!Alex Crichton-1/+1
2013-08-07Fix bug in `match`ing struct patternsDmitry Ermolov-2/+0
Code that collects fields in struct-like patterns used to ignore wildcard patterns like `Foo{_}`. But `enter_defaults` considered struct-like patterns as default in order to overcome this (accoring to my understanding of situation). However such behaviour caused code like this: ``` enum E { Foo{f: int}, Bar } let e = Bar; match e { Foo{f: _f} => { /* do something (1) */ } _ => { /* do something (2) */ } } ``` consider pattern `Foo{f: _f}` as default. That caused inproper behaviour and even segfaults while trying to destruct `Bar` as `Foo{f: _f}`. Issues: #5625 , #5530. This patch fixes `collect_record_or_struct_fields` to split cases of single wildcard struct-like pattern and no struct-like pattern at all. Former case resolved with `enter_rec_or_struct` (and not with `enter_defaults`). Closes #5625. Closes #5530.
2013-08-07Added testcases for `match` keywordDmitry Ermolov-0/+26
Added testcases for `match` keyword including test for issue #5625.