Coder Social home page Coder Social logo

Create an issue about sdk HOT 1 CLOSED

Cemique avatar Cemique commented on June 24, 2024
Create an issue

from sdk.

Comments (1)

julemand101 avatar julemand101 commented on June 24, 2024 1

This kind of question are more fitting the community channels you can find here: https://dart.dev/community

The reason for the missing promotion is that your code could be imported in another program where Foo gets extended in another class which could provide another implementation of the x value.

See, by making x final, it just means that we have no setter of the value. But we can override x with our own getter which does not return the same value each time we ask for x:

class FooBar extends Foo {
  int? get x => Random().nextBool() ? null : 5;
}

Now, your null-check would no longer be valid. In recent version of Dart, the check have been made more advanced so if you rename x to _x to make it private, it would then get promoted. The reason here is that since it is private, it is no longer being able to get overridden by another class which are not part of your own package. So we no longer have this "surprise" factor where a user of your package gets a null-check error for something they could not know about.

from sdk.

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.