return type return statement
return type return statement NonLocalReturnException syntax
best practices case-classes variables equals hashCode
traits trait interfaces override best practices inheritance
syntax parentheses
return type best practices type inference
by-name def definitions by-value val
by-name def definitions by-value termination val
Boolean expressions expressions reduction rules termination evaluation
if-else by-name by-value conditional expressions termination evaluation