Giter Club home page Giter Club logo

Comments (7)

cuviper avatar cuviper commented on June 12, 2024 1

Published!

from autocfg.

cuviper avatar cuviper commented on June 12, 2024

I would be OK with that -- especially with #19 that will allow you to check pretty much anything. Would you care to review that, and maybe audit the API in general for 1.0? (Perhaps you already have...)

from autocfg.

matklad avatar matklad commented on June 12, 2024

I've looked through the API surface of the crate, everything seems reasonable! The only two non super obvious bits were:

  • rerun_path and rerun_env names are not self-explanatory. return_if_x_changed would be more obvious at the call site, but it probably doesn't make sense to do a rename, as it's a really minor issue, the explicit version is significantly more verbose (though this shouldn't matter much for build scripts?), and we already have an existing API.

  • Error type does not implement the new Source method, but it's not unclear how to support that, without some hockey bootstraping scheme for autocfg itself.

from autocfg.

matklad avatar matklad commented on June 12, 2024

Oh, in Cargo.toml, license = "Apache-2.0/MIT" I think should be spelled as license = "Apache-2.0 OR MIT", but I am not sure if Cargo 1.0 supports this.

from autocfg.

cuviper avatar cuviper commented on June 12, 2024
  • rerun_path and rerun_env names are not self-explanatory. return_if_x_changed would be more obvious at the call site, but it probably doesn't make sense to do a rename, as it's a really minor issue, the explicit version is significantly more verbose (though this shouldn't matter much for build scripts?), and we already have an existing API.

I see your point, but yes, the added verbosity would seem unfortunate. I think it's ok to excuse the terse names because the API surface is so small.

  • Error type does not implement the new Source method, but it's not unclear how to support that, without some hockey bootstraping scheme for autocfg itself.

Yeah, I think that bootstrap complexity would not be justified. I expect most cases will just be unwrapped anyway, so the Debug implementation is really what matters.

Oh, in Cargo.toml, license = "Apache-2.0/MIT" I think should be spelled as license = "Apache-2.0 OR MIT", but I am not sure if Cargo 1.0 supports this.

AFAICT Cargo doesn't validate the license at all, leaving it to the registry:
https://github.com/rust-lang/cargo/blob/7059559d71de3fffe8c8cb81e32f323454aa96c5/src/cargo/core/manifest.rs#L75-L79

from autocfg.

matklad avatar matklad commented on June 12, 2024

Yeah, indeed, Cargo doesn’t do validation here. So, we should change this to OR, because that’s what standard says.

rust-lang/cargo#2039

from autocfg.

matklad avatar matklad commented on June 12, 2024

@cuviper I think it might be the good idea to announce the crate on urlo/r/rust? I have a feeling that this crate is barely known (19 , and I know it only because I was browsing cargo's issue tracker the other day and noticed alexcrichton mentioning it in passing). At the same time, I think there will be ecosystem-wide goodness if everyone converges to this crate.

Also, "MSRV is 1.0.0" is just to cool to not brag about :-)

from autocfg.

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.