Skip to content

Latest commit

 

History

History
103 lines (81 loc) · 3.91 KB

CHANGELOG.md

File metadata and controls

103 lines (81 loc) · 3.91 KB

Changelog

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

Added

  • Add ability to parse literals with arbitrary suffixes (e.g. "foo"bla or 23px)
  • Add suffix() method to all literal types except BoolLit
  • Add IntegerBase::value
  • Add from_suffix and suffix methods to FloatType and IntegerType
  • Add FromStr and Display impls to FloatType and IntegerType

Changed

  • Breaking: Mark FloatType and IntegerType as #[non_exhaustive]
  • Breaking: Fix integer parsing for cases like 27f32. Literal::parse and IntegerLit::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 in FloatLit::parse.
  • Improved some parts of the docs

Removed

  • Breaking: Remove OwnedLiteral and SharedLiteral

0.3.0 - 2022-12-19

Breaking

  • Bump MSRV (minimal supported Rust version) to 1.54

Added

  • Add raw_input and into_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

Fixed

  • Fix link to reference and clarify bool literals (#7)

Internals

  • 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

Changed

  • Minor internal code change to bring MSRV from 1.52 to 1.42

0.2.2 - 2021-06-09

Changed

  • Fixed (byte) string literal parsing by:
    • Correctly handling "string continue" sequences
    • Correctly converting \n\r into \n

0.2.1 - 2021-06-04

Changed

  • Fixed the expected value of the error returned from TryFrom<TokenTree> impls in some cases

0.2.0 - 2021-05-28

Changed

  • Breaking: rename Error to ParseError. That describes its purpose more closely and is particular useful now that other error types exist in the library.

Removed

  • Breaking: remove proc-macro feature and instead offer the corresponding impls unconditionally. Since the feature didn't enable/disable a dependency (proc-macro is a compiler provided crate) and since apparently it works fine in no_std environments, I dropped this feature. I don't currently see a reason why the corresponding impls should be conditional.

Added

  • TryFrom<TokenTree> for litrs::Literal impls
  • From<*Lit> for litrs::Literal impls
  • TryFrom<proc_macro[2]::Literal> for *Lit
  • TryFrom<TokenTree> for *Lit
  • InvalidToken error type for all new TryFrom impls

0.1.1 - 2021-05-25

Added

  • From impls to create a Literal from references to proc-macro literal types:
    • From<&proc_macro::Literal>
    • From<&proc_macro2::Literal>
  • Better examples in README and repository

0.1.0 - 2021-05-24

Added

  • Everything