前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2020-12-02 GATs已经可以在 nightly 中使用

【Rust日报】2020-12-02 GATs已经可以在 nightly 中使用

作者头像
MikeLoveRust
发布2020-12-07 10:42:19
5800
发布2020-12-07 10:42:19
举报
文章被收录于专栏:Rust语言学习交流

GATs(generic_associated_types)已经可以在 nightly 中使用

例子如下:

代码语言:javascript
复制
#![feature(generic_associated_types)]

trait Monad /* : Applicative (for pure/return, doesn't matter for this example) */ {
    // Self is like the "f a" in haskell

    /// extract the "a" from "f a"
    type Unplug;

    /// exchange the "a" in "f a" in the type of Self with B
    type Plug<B>: Monad;

    fn bind<B, F>(self, f: F) -> Self::Plug<B>
    where
        F: Fn(Self::Unplug) -> Self::Plug<B>;
}

impl<A> Monad for Option<A> {
    type Unplug = A;
    type Plug<B> = Option<B>;
    fn bind<B, F>(self, f: F) -> Option<B>
    where
        F: Fn(A) -> Option<B>,
    {
        self.and_then(f)
    }
}

fn main() {
    let x = Some(1).bind(|x| Some(x * 2));
    println!("{:?}", x);
}

https://www.reddit.com/r/rust/comments/k4vzvp/gats_on_nightly/

cargo-aoc: Advent of Code 的命令行工具

Advent of Code 是一个解谜网站。Cargo-aoc提供了一个命令行工具来方便你玩aoc。

https://github.com/gobanos/cargo-aoc

Sensei:快速打开 crate 文档

例如:

代码语言:javascript
复制
sensei serde

就可以打开 https://docs.rs/serde/

https://crates.io/crates/sensei


From 日报小组 @挺肥

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GATs(generic_associated_types)已经可以在 nightly 中使用
  • cargo-aoc: Advent of Code 的命令行工具
  • Sensei:快速打开 crate 文档
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档