[fine] Check the return type of functions
A function returns what it says it does, the check is that the body returns the right value.
This commit is contained in:
parent
257a7e64c2
commit
d893002ec2
5 changed files with 70 additions and 14 deletions
|
|
@ -1,8 +1,8 @@
|
|||
fun foo(x: f64) {
|
||||
fun foo(x: f64) -> f64 {
|
||||
x + 7
|
||||
}
|
||||
|
||||
fun test() {
|
||||
fun test() -> f64 {
|
||||
foo(1)
|
||||
}
|
||||
|
||||
|
|
@ -22,6 +22,10 @@ fun test() {
|
|||
// | TypeExpression
|
||||
// | Identifier:'"f64"'
|
||||
// | RightParen:'")"'
|
||||
// | ReturnType
|
||||
// | Arrow:'"->"'
|
||||
// | TypeExpression
|
||||
// | Identifier:'"f64"'
|
||||
// | Block
|
||||
// | LeftBrace:'"{"'
|
||||
// | ExpressionStatement
|
||||
|
|
@ -38,6 +42,10 @@ fun test() {
|
|||
// | ParamList
|
||||
// | LeftParen:'"("'
|
||||
// | RightParen:'")"'
|
||||
// | ReturnType
|
||||
// | Arrow:'"->"'
|
||||
// | TypeExpression
|
||||
// | Identifier:'"f64"'
|
||||
// | Block
|
||||
// | LeftBrace:'"{"'
|
||||
// | ExpressionStatement
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue