All notable changes to this project will be documented in this file.
0.4.1 - 2023-10-18
- Fixed incorrectly labeling
27f32
a float literals in docs. - Added hint to integer literal docs about parsing as
u128
.
0.4.0 - 2023-03-05
- Add ability to parse literals with arbitrary suffixes (e.g.
"foo"bla
or23px
) - Add
suffix()
method to all literal types exceptBoolLit
- Add
IntegerBase::value
- Add
from_suffix
andsuffix
methods toFloatType
andIntegerType
- Add
FromStr
andDisplay
impls toFloatType
andIntegerType
- Breaking: Mark
FloatType
andIntegerType
as#[non_exhaustive]
- Breaking: Fix integer parsing for cases like
27f32
.Literal::parse
andIntegerLit::parse
will both identify this as an integer literal. - Breaking: Fix float parsing by correctly rejecting inputs like
27f32
. A float literal must have a period OR an exponent part, according to the spec. Previously decimal integers were accepted inFloatLit::parse
. - Improved some parts of the docs
- Breaking: Remove
OwnedLiteral
andSharedLiteral
0.3.0 - 2022-12-19
- Bump MSRV (minimal supported Rust version) to 1.54
- Add
raw_input
andinto_raw_input
to non-bool*Lit
types - Add
impl From<*Lit> for pm::Literal
(for non-bool literals) - Add
impl From<BoolLit> for pm::Ident
- Fix link to reference and clarify bool literals (#7)
- Move lots of parsing code into non-generic functions (this hopefully reduces compile times)
- To implement
[into_]raw_input
for integer and float literals, their internals were changed a bit so that they store the full input string now.
0.2.3 - 2021-06-09
- Minor internal code change to bring MSRV from 1.52 to 1.42
0.2.2 - 2021-06-09
- Fixed (byte) string literal parsing by:
- Correctly handling "string continue" sequences
- Correctly converting
\n\r
into\n
0.2.1 - 2021-06-04
- Fixed the
expected
value of the error returned fromTryFrom<TokenTree>
impls in some cases
0.2.0 - 2021-05-28
- Breaking: rename
Error
toParseError
. That describes its purpose more closely and is particular useful now that other error types exist in the library.
- Breaking: remove
proc-macro
feature and instead offer the correspondingimpl
s unconditionally. Since the feature didn't enable/disable a dependency (proc-macro
is a compiler provided crate) and since apparently it works fine inno_std
environments, I dropped this feature. I don't currently see a reason why the corresponding impls should be conditional.
TryFrom<TokenTree> for litrs::Literal
implsFrom<*Lit> for litrs::Literal
implsTryFrom<proc_macro[2]::Literal> for *Lit
TryFrom<TokenTree> for *Lit
InvalidToken
error type for all newTryFrom
impls
0.1.1 - 2021-05-25
From
impls to create aLiteral
from references to proc-macro literal types:From<&proc_macro::Literal>
From<&proc_macro2::Literal>
- Better examples in README and repository
- Everything