GithubHelp home page GithubHelp logo

Comments (5)

artem-zinnatullin avatar artem-zinnatullin commented on May 23, 2024 1

from storio.

nikitin-da avatar nikitin-da commented on May 23, 2024

Hi, @ValeriusGC
The reason why it was changed to nullable is that user can add some custom interceptor that may return null as a result
So there is no guarantee that result is notNull

Of course in common case (for all operations except get().object()) result should not be null.
So I guess we can add runtime nullability check into executeAsBlocking

@geralt-encore what do you think?

from storio.

ValeriusGC avatar ValeriusGC commented on May 23, 2024

Just a minute.
According above chain semantic it is allowed to process result of previous operation executeAsBlocking() in the next step, doesn't it? So there is the source of potential NPE when null-result is allowed here. IMHO it is some kind of trap to place @Nullable in the the probable continuation of the call chain. Maybe not allowing null would be the better strategy...

from storio.

nikitin-da avatar nikitin-da commented on May 23, 2024

Actually we can't prohibit nulls at all because we use the same interceptor interface for all operations. And one of them can return null

from storio.

nikitin-da avatar nikitin-da commented on May 23, 2024

Closed with #864

from storio.

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.