Git Product home page Git Product logo

Comments (5)

pborman avatar pborman commented on May 6, 2024 4

New is often used as a global:

var instance = uuid.New()

New should never fail unless your random number generated is broken. A bad random number generator is probably worth panicing over.

from uuid.

TheDahv avatar TheDahv commented on May 6, 2024

Just came to file this same bug. I am rewriting some code to unpack over the New panic potential, and decided to detect and find errors myself. Go over to the documentation for NewRandom and the documentation says it panics, but the signature and the code itself implies that it returns an error I can manage myself.

from uuid.

martinlindhe avatar martinlindhe commented on May 6, 2024

First typo was addressed in 0614758

second typo is being addressed in bb91e0b

from uuid.

solarfly73 avatar solarfly73 commented on May 6, 2024

New() calling panic is deceptive. The developer should have control over calling Must(NewRandom()) directly (since changing New() to return an error would be a breaking change for anyone using the library to date). A New() that fails should set the UUID to all 0, and the UUID can be validated with a secondary function IsValid() or something stupid.

from uuid.

pborman avatar pborman commented on May 6, 2024

I am closing this out as I don't think this will change.

from uuid.

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.