Skip to content

Releases: dtolnay/syn

0.11.5

19 Feb 21:05
0.11.5
b7defb7
Compare
Choose a tag to compare
  • Implement an AST folder, syn::fold::Folder (#85, thanks @gnzlbg)

  • Expose parsers and parser combinators for parsing custom function-like macro input

    extern crate syn;
    #[macro_use] extern crate synom;
    
    use syn::Expr;
    use syn::parse::expr;
    
    // An expression surrounded by [[ ... ]].
    named!(double_bracket_expr -> Expr,
        delimited!(punct!("[["), expr, punct!("]]"))
    );
    
    fn main() {
        let input = "[[ 1 + 1 ]]";
    
        let parsed = double_bracket_expr(input).expect("double bracket expr");
    
        println!("{:?}", parsed);
    }

0.11.4

26 Jan 00:05
0.11.4
b67c0b7
Compare
Choose a tag to compare

0.10.8

19 Feb 19:26
0.10.8
fea1ef4
Compare
Choose a tag to compare
  • Clean up a botched merge (#84)

0.11.3

26 Jan 00:04
0.11.3
b95f685
Compare
Choose a tag to compare

(yanked)

0.11.2

26 Jan 00:04
0.11.2
3503af7
Compare
Choose a tag to compare

(yanked)

0.11.1

25 Jan 15:45
0.11.1
e04446e
Compare
Choose a tag to compare

0.10.7

25 Jan 15:45
0.10.7
Compare
Choose a tag to compare
  • Update unicode-xid dependency to 0.0.4 (backport #83, thanks @SimonSapin)

0.11.0

24 Jan 02:28
0.11.0
df8fa31
Compare
Choose a tag to compare

AST changes to reflect changes in rustc

  • Rename ExprKind::Vec to ExprKind::Array
  • Change the content of ExprKind::Closure from a Block to Expr
  • Support expression values for break statements
  • Support attributes on fields in a struct literal expression (FieldValue) and pattern (FieldPat)
  • Add a new type of where predicate - EqPredicate
  • Combine Ty::ObjectSum and Ty::PolyTraitRef into Ty::TraitObject
  • Add Ty::Mac to support macros in type position

Other breaking changes

  • Remove the custom-derive registry that was used for expanding derives on stable rust; real custom derives will be stable very soon
  • Unify BlockCheckMode and Unsafety (#66, thanks @shepmaster)

Non-breaking changes

  • Rename parse_macro_input to parse_derive_input and MacroInput to DeriveInput now that there are other types of procedural macros that are not derives; the old names will continue to work because they have appeared in so many Macros 1.1 guides (#63, thanks @SimonSapin)
  • Support parsing macro invocations that use namespaced paths like a::b!(...)
  • The AST walker syn::visit::Visitor now supports all AST types (#79, thanks @mystor)

0.10.6

07 Jan 19:31
0.10.6
66a31d6
Compare
Choose a tag to compare
  • #[derive(Hash)] for all the syntax tree types (#73)

0.10.5

22 Dec 23:32
0.10.5
9618493
Compare
Choose a tag to compare