Skip to content

Taking advantage of New Rust Features #558

Open

Description

@bluss

Ideas and tracking to take advantage of “new” features in Rust

All features to be used because of what gain they give us, not to score points. Formulate goal & gain before implementing - and write it up the pull request 🙂.

#![cfg_attr(docsrs, feature(doc_cfg))]

and then on each item enabled by a specific feature, we add this:

#[cfg_attr(docsrs, doc(cfg(feature = "thefeature")))]

(For an example, see async_compression.)


Future features (not relevant yet, because they don't exist in stable Rust)


This is a tracking issue, please edit it.

Activity

  1. LukeMathWalker commented on Mar 7, 2019

    @LukeMathWalker
    Member

    It seems 2019 is indeed going to be the year of specialisation, const generics and GAT: rust-lang/rfcs#2657 🚀 🚀

  2. phungleson commented on Mar 16, 2019

    @phungleson

    Hey mates, this looks like something that new person like me can help. Do you see any thing that is easy to get start with?

  3. max-sixty commented on Jun 21, 2019

    @max-sixty
    Contributor

    Any thoughts on @phungleson 's question? CC @jturner314

    Also the Run cargo fmt can be marked complete

  4. jturner314 commented on Jul 21, 2019

    @jturner314
    Member

    Some suggestions:

    • Running cargo fix --edition-idioms and cleaning up the results.
    • Updating doc links to use rustdoc item links. (See RFC 1946, although not all of the RFC is implemented.)
    • Using NonZero (NonZero start #647).
    • Changing ArrayBase.ptr to NonNull. This would be a pretty extensive change that would touch lots of areas of the code base, but I think the changes would be relatively straightforward.
    • Seeing if it would be possible to replace the dependency on std with core and alloc.
  5. skewballfox commented on Oct 30, 2022

    @skewballfox

    looks like GATs are going to be part of stable next week

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions