Skip to content

Releases: dtolnay/syn

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

0.10.4

22 Dec 20:50
0.10.4
c37d1b6
Compare
Choose a tag to compare

(yanked)

0.10.3

19 Nov 21:03
0.10.3
Compare
Choose a tag to compare
  • Export FieldValue which was mistakenly not public (#67, thanks @shepmaster)

0.10.2

19 Nov 21:02
0.10.2
Compare
Choose a tag to compare

0.10.1

09 Nov 14:33
0.10.1
4aa5c72
Compare
Choose a tag to compare
  • Export ExprKind which was mistakenly not public (#64, thanks @KodrAus)

0.10.0

31 Oct 03:44
0.10.0
3c0c8c5
Compare
Choose a tag to compare

Significant new features

Lots of minor enhancements

  • More efficient implementation of Generics::split_for_impl
  • Support for out-of-line modules i.e. mod foo; in addition to mod foo { ... }
  • From impls for constructing the various Lit variants (#50, thanks @killercup)
  • Parsing of raw byte strings
  • Parsing of floating-point literals
  • Parsing of integer literals containing underscores for visual alignment
  • Parsing of hex, octal, and binary integer literals
  • More restrictive parsing of variable names
  • Nicer output for string literals containing the zero byte \0
  • Parsing of doc comments inside of macro invocations
  • Parsing of const trait and impl methods
  • Parsing of bare function types containing lifetimes
  • Parsing of module inner attributes
  • Parsing of hex escapes greater than \x7F in byte strings and byte literals
  • Parsing of trailing commas in a match expression
  • Parsing of slice patterns
  • Parsing of unsafety and ABI associated with a bare function type
  • Parsing of variadic extern functions
  • Parsing of negative integer literal patterns
  • Parsing of inner attributes within functions and methods
  • Parsing of trailing commas in use declarations
  • Parsing of attributes on statements
  • Parsing of where clauses on type aliases
  • Parsing of left-to-right mark and right-to-left mark codepoints
  • Parsing of placement syntax
  • Parsing of shebang at the top of a file
  • Parsing of shorthand syntax within struct literal expressions
  • Parsing of trailing commas inside generics
  • Parsing of carriage returns in multiline string literals
  • Parsing of pub(crate) and pub(restricted) visibility modifiers
  • Parsing of byte order marks
  • Parsing of trailing commas in slice patterns

0.10.0-rc1

25 Oct 07:33
0.10.0-rc1
45823d0
Compare
Choose a tag to compare
0.10.0-rc1 Pre-release
Pre-release
Release 0.10.0-rc1

0.9.2

20 Oct 16:06
0.9.2
a842db7
Compare
Choose a tag to compare