Giter VIP home page Giter VIP logo

Comments (5)

spytheman avatar spytheman commented on September 26, 2024 2

I agree. Auto promoting int to i64 is fine, since it an int fits entirely in the range of i64, but automatically casting i64 to int implicitly, should not be allowed.

from v.

mike-ward avatar mike-ward commented on September 26, 2024 1

For my own understanding:

Why doesn't V report an error when the first branch is an int and the other branches are i64?

The current behavior suggests that V is silently casting the 2nd and subsequent branches to int.

from v.

felipensp avatar felipensp commented on September 26, 2024

Yes. Because the first branch on Match is instructing that the return type is int not i64.

You can use: 'b' { i64(block) } to force i64 too.

assert string_to_i64('18T')! == 18 * terra

With int:
number: 18
multiplier: 0
result: 0

With i64:
number: 18
multiplier: 1099511627776
result: 19791209299968

from v.

mike-ward avatar mike-ward commented on September 26, 2024

Yes. Because the first branch on Match is instructing that the return type is int not i64.

Why does the p branch work?

Also, I would expect multiplier to always be i64. Otherwise, the other branches should be errors since they are i64

from v.

mike-ward avatar mike-ward commented on September 26, 2024

Why does the p branch work?

Ah, I defined peta wrong. bummer.

Still seems odd that match does not issue an error in the other branches beause of assignment of an i64 to int

from v.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.