Syntax
TupleExpression :
(
InnerAttribute* TupleElements?)
TupleElements :
( Expression,
)+ Expression?
Tuples are written by enclosing zero or more comma-separated expressions in parentheses. They are used to create tuple-typed values.
#![allow(unused)] fn main() { (0.0, 4.5); ("a", 4usize, true); (); }
You can disambiguate a single-element tuple from a value in parentheses with a comma:
#![allow(unused)] fn main() { (0,); // single-element tuple (0); // zero in parentheses }
Inner attributes are allowed directly after the opening parenthesis of a tuple expression in the same expression contexts as attributes on block expressions.
Syntax
TupleIndexingExpression :
Expression.
TUPLE_INDEX
Tuples and struct tuples can be indexed using the number corresponding to the position of the field. The index must be written as a decimal literal with no underscores or suffix. Tuple indexing expressions also differ from field expressions in that they can unambiguously be called as a function. In all other aspects they have the same behavior.
#![allow(unused)] fn main() { struct Point(f32, f32); let pair = (1, 2); assert_eq!(pair.1, 2); let unit_x = Point(1.0, 0.0); assert_eq!(unit_x.0, 1.0); }
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/reference/expressions/tuple-expr.html