Releases: dtolnay/syn
Releases · dtolnay/syn
0.11.0
AST changes to reflect changes in rustc
- Rename
ExprKind::Vec
toExprKind::Array
- Change the content of
ExprKind::Closure
from aBlock
toExpr
- 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
andTy::PolyTraitRef
intoTy::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
andUnsafety
(#66, thanks @shepmaster)
Non-breaking changes
- Rename
parse_macro_input
toparse_derive_input
andMacroInput
toDeriveInput
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
0.10.5
0.10.4
0.10.3
0.10.2
0.10.1
0.10.0
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 tomod foo { ... }
From
impls for constructing the variousLit
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)
andpub(restricted)
visibility modifiers - Parsing of byte order marks
- Parsing of trailing commas in slice patterns
0.10.0-rc1
Release 0.10.0-rc1
0.9.2
- Add
syn::parse_token_trees
to parse tokens from a string. Token trees are much simpler than an AST. This makes them easier to work with when they are sufficient for the task at hand, such as for example expanding a function-like macro. (#52, thanks @SimonSapin)