Implement tuple and tuple struct indexing

This allows code to access the fields of tuples and tuple structs:

    let x = (1i, 2i);
    assert_eq!(x.1, 2);

    struct Point(int, int);
    let origin = Point(0, 0);
    assert_eq!(origin.0, 0);
    assert_eq!(origin.1, 0);
This commit is contained in:
P1start 2014-08-10 15:54:33 +12:00
parent 651106462c
commit bf274bc18b
34 changed files with 549 additions and 14 deletions

View file

@ -2555,6 +2555,8 @@ The currently implemented features of the reference compiler are:
which is considered wildly unsafe and will be
obsoleted by language improvements.
* `tuple_indexing` - Allows use of tuple indexing (expressions like `expr.0`)
If a feature is promoted to a language feature, then all existing programs will
start to receive compilation warnings about #[feature] directives which enabled
the new feature (because the directive is no longer necessary). However, if