タグ

ブックマーク / ubnt-intrepid.github.io (2)

  • Rust のマクロ・構文拡張,および Macros 2.0 について | ubnt-intrepid's blog

    記事は Rust Internal Advent Calendar 2017 第10日目の記事です. 記事では,Rust の主要な機能の一つである「マクロ」および「構文拡張」についての現状認識と,将来的な導入のために検討が進んでいる Macros 2.0 についての概略をまとめる. 記事執筆時における情報をもとに記述しているため,将来的にその仕様が(大幅に)変更される可能性があることに注意されたい. はじめにRust のマクロ・構文拡張Rust は,構文解析後に抽象構文木 (AST) を書き換える操作を注入するために マクロ (macro) および 構文拡張 (syntax extension) という仕組みを提供している. Rust のマクロは,それが構文解析後に行われるという点で C や C++ におけるプリプロセッサとは対照的なものである.マクロの仕様に関する詳細は Rust

  • RFC 2094 (non-lexical lifetime) の非公式訳 | ubnt-intrepid's blog

    記事は Rust Internal Advent Calendar 2017 第1日目の記事です. 今年の 9/30 に採択された non-lexical lifetimes の RFC である RFC 2094 の非公式訳です. Feature Name: (fill me in with a unique ident, my_awesome_feature)Start Date: 2017-08-02RFC PR: https://github.com/rust-lang/rfcs/pull/2094Rust Issue: https://github.com/rust-lang/rust/issues/44928概要Rust の借用システムにおける,ノンレキシカル・ライフタイム (レキシカルスコープではなく制御フローグラフに基づくライフタイム)対応への拡張. RFC では,この新

    zetta1985
    zetta1985 2017/12/01
    問題例#3、最近ハマったなぁ。やっぱentry使うしかないか
  • 1