Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from tokio-rs:master #9

Open
wants to merge 63 commits into
base: master
Choose a base branch
from
Open

Commits on Apr 8, 2024

  1. prost-build: prost_path helper (#1018)

    Use the helper function to replace repetitive expressions obtaining
    prost library path from the configuration with fallback to "::prost".
    mzabaluev committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    2e64d6f View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2024

  1. Handle keyword Self after stripping enum type prefix (#998)

    * Address #997: handle keyword `Self` after stripping enum type prefix
    
    * create sanitize_identifier
    
    * add to_snake back (i did it in two commits to not mess up the git blame)
    
    * small fixes
    
    * add test_sanitize_identifier
    
    * remove unnecessary comment
    
    * combine test_strip_enum_prefix and test_strip_enum_prefix_resulting_in_keyword
    
    * update enum_keyword_variant.proto
    
    * maybe improve docs of strip_enum_prefix?
    MixusMinimax committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    963e942 View commit details
    Browse the repository at this point in the history
  2. Fix clippy warnings and enable clippy in CI (#1008)

    * prost: clarify encoding test buffer copying:
    
    fixes `noop_method_call` clippy lint warning.
    
    * ci: add lint checking step:
    
    * Makes that the entrire workspace is checked, but tests too.
    
    * chore: fix `needless_borrow` lints
    
    * chore: fix `needless_return` lints
    
    * chore: remove noop clippy allows
    
    * chore: fix `box_default` lints
    
    * chore: fix `unnecessary_cast` lints
    
    * chore: fix `slow_vector_initialization` lints
    
    * chore: fix `assigning_clones` lints
    
    * chore: fix `unused_import` lints
    
    * chore: fix `single_match` lints
    gibbz00 committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    04be604 View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2024

  1. Configuration menu
    Copy the full SHA
    95e2658 View commit details
    Browse the repository at this point in the history
  2. build: Use git submodule to download protobuf sources (#1014)

    Instead of downloading a tarball, use a submodule to get the protobuf sources. Newer versions of protobuf require recursive submodules for its dependencies
    caspermeijn committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    e3deaa2 View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2024

  1. chore: Fix clippy checks in CI (#1032)

    * chore: Fix needless borrow
    
    * ci: Clippy requires checking out submodules
    
    * ci: Exclude `protobuf` project from clippy
    caspermeijn committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    eee2de0 View commit details
    Browse the repository at this point in the history
  2. prost-build: Split Config and Module into a separate module and f…

    …iles (#1020)
    
    * build: split `Config` into a separate module
    
    * build: split `Module` into a separate module
    gibbz00 committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    30b22d3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0381b93 View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2024

  1. chore: separate prost Cargo.toml workspace and crate declaration (#…

    …1033)
    
    Removes the need to always specify append `--workspace` in the common
    cargo commands.
    
    `rust-analyser` seems to get confused and locks the workspace longer
    than needed under the previous structure. (Lots of `Blocking waiting
    for file lock on build directory` waiting.) Unable to find an issue
    mentioning this.
    
    Goals it to then make repo to more easily managed. Examples:
    
    * Consolidate crate package metadata, dependency versions and clippy
    lints in the workspace `Cargo.toml`
    
    * Placing all crates in a `crates/` for automatic workspace member
    inclucion.
    gibbz00 committed Apr 22, 2024
    Configuration menu
    Copy the full SHA
    215ae16 View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2024

  1. Remove GoogleMessage3 and GoogleMessage4 benchmarks (#1037)

    The dataset for these benchmarks are not distributed in upstream protobuf. Therefore they fail when running `cargo bench --workspace`.
    
    Fixes #1005
    
    Open question:
    - Are these datasets available for download? If yes, we could add them to the repo.
    caspermeijn committed Apr 23, 2024
    Configuration menu
    Copy the full SHA
    1fc736e View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2024

  1. Configuration menu
    Copy the full SHA
    a53ad51 View commit details
    Browse the repository at this point in the history
  2. ci: Add TOML validation with taplo (#1034)

    Co-authored-by: Casper Meijn <casper@meijn.net>
    gibbz00 and caspermeijn committed Apr 26, 2024
    Configuration menu
    Copy the full SHA
    6914543 View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2024

  1. chore: Update crate descriptions (#1038)

    Each published crate should have a unique description.
    caspermeijn committed Apr 28, 2024
    Configuration menu
    Copy the full SHA
    95dcb0e View commit details
    Browse the repository at this point in the history
  2. chore: Update internal crates to Rust edition 2021 (#1039)

    The published crates were already using edition 2021. Update all internal crates as well.
    
    Also add a new tests-2018 crate that runs all tests using edition 2018.
    caspermeijn committed Apr 28, 2024
    Configuration menu
    Copy the full SHA
    a21d90c View commit details
    Browse the repository at this point in the history
  3. tests: Create a separate tempdir for each test (#1044)

    Many tests from `prost-build` wrote to the same temporary directory. Therefore these tests overwrite each other files. Because `cargo test` runs multi threaded some tests failed sometimes.
    caspermeijn committed Apr 28, 2024
    Configuration menu
    Copy the full SHA
    b607e9b View commit details
    Browse the repository at this point in the history
  4. fix: #1021 (#1022)

    gibbz00 committed Apr 28, 2024
    Configuration menu
    Copy the full SHA
    ee96a04 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3f2536b View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2024

  1. Configuration menu
    Copy the full SHA
    43753be View commit details
    Browse the repository at this point in the history
  2. style(prost-build): Consolidate field data into struct (#1017)

    * prost-build: consolidate message field data
    
    When massaging field data in CodeGenerator::append_message,
    move it into lists of Field and OneofField structs so that later
    generation passes can operate on the data with less code duplication.
    
    Subsidiary append_* methods are changed to take references to these
    structs rather than moved data, as generation of lexical tokens
    does not actually consume any owned data, and we will need more
    passes over the same field lists for the upcoming builder code.
    
    * prost-build: compute field tags in place
    
    * prost-build: address comments on reuse of Field
    
    Make rust_field into a method computing the name on the fly.
    In OneofField, make the vector of fields to have Field members.
    Don't play reference renaming tricks with field.descriptor.
    mzabaluev committed Apr 29, 2024
    Configuration menu
    Copy the full SHA
    680a2e1 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2024

  1. tests: Remove unused dependencies (#1043)

    * tests: Remove unused dependencies
    
    Found these unused dependencies using: `cargo +nightly udeps && cargo +nightly udeps --all-targets`
    
    * ci: Add cargo-udeps
    caspermeijn committed May 3, 2024
    Configuration menu
    Copy the full SHA
    71b8e8e View commit details
    Browse the repository at this point in the history

Commits on May 5, 2024

  1. fix the link and badge for CI (#1049)

    the badge image has been incorrect and not reflective of CI status since august 2023 (9c877ce).
    mumbleskates committed May 5, 2024
    Configuration menu
    Copy the full SHA
    2308ba4 View commit details
    Browse the repository at this point in the history
  2. prost-build: CodeGenerator::boxed method (#1019)

    * prost-build: CodeGenerator::boxed method
    
    A helper method to capture the logic of deciding whether a field
    needs to be boxed. This follows the pattern with other methods like
    `optional`, and will allow reusing the logic in the upcoming builder
    codegen.
    
    * prost-build: more reuse with CodeGenerator::boxed
    
    The bit in CodeGenerator::append_oneof was pretty much the same,
    except the configuration is looked up for the oneof name.
    
    Rearrange the logic so that intermediate values are bound when needed.
    If a repeated fields is configured to be boxed, a deprecation warning
    will be emitted by the build script.
    
    * prost-build: document CodeGenerator::boxed
    
    * prost-build: only emit warning on repeated fields
    
    Co-authored-by: Casper Meijn <casper@meijn.net>
    
    ---------
    
    Co-authored-by: Casper Meijn <casper@meijn.net>
    mzabaluev and caspermeijn committed May 5, 2024
    Configuration menu
    Copy the full SHA
    1f38ea6 View commit details
    Browse the repository at this point in the history
  3. fix: include_file should handle proto without package (#1002)

    * fix #1001 and add tests
    
    * add alloc:: imports
    
    * rewrite write_includes to allow for empty modules.
    
    * create test fixture for `write_includes`
    
    * fix lints, remove line feeds
    
    * fixes after merge master
    
    * remove some duplicate tests and alter existing ones to test write_includes
    
    * more test
    
    * module.rs Module::starts_with visibility
    MixusMinimax committed May 5, 2024
    Configuration menu
    Copy the full SHA
    baddf98 View commit details
    Browse the repository at this point in the history

Commits on May 8, 2024

  1. chore: Release version 0.12.5 (#1050)

    _PROST!_ is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.
    
    This patch update brings new fixes:
    
    - fix: include_file should handle proto without package (#1002)
    - Place Config::format behind the format feature flag
    - Handle keyword `Self` after stripping enum type prefix (#998)
    
    ## Documentation
    - fix(readme): fix the link and badge for CI (#1049)
    
    ## Internal
    - style(codegen): `Syntax` to a separate file (#1029)
    - chore(codegen): extract c string escaping to a separate file (#1028)
    - style(prost-build): `CodeGenerator::boxed` method (#1019)
    - style(prost-build): Consolidate field data into struct (#1017)
    - style(prost-build): `BytesType and MapType` into a `collections` module. (#1030)
    - style(prost-build): Split `Config` and `Module` into a separate module and files (#1020)
    - style(prost-build): prost_path helper (#1018)
    - style: Fix toml indent (#1048)
    - style: Fix clippy warnings and enable clippy in CI (#1008)
    - build: Use git submodule to download protobuf sources (#1014)
    - ci: Add TOML validation with `taplo` (#1034)
    - tests: Create a separate tempdir for each test (#1044)
    - tests: Remove GoogleMessage3 and GoogleMessage4 benchmarks (#1037)
    - chore: Update internal crates to Rust edition 2021 (#1039)
    - chore: Update crate descriptions (#1038)
    - chore: Fix clippy checks in CI (#1032)
    - chore: Add Casper Meijn as author (#1025)
    caspermeijn committed May 8, 2024
    Configuration menu
    Copy the full SHA
    548739a View commit details
    Browse the repository at this point in the history
  2. fix: Duplicate README to fix release (#1052)

    The release of version 0.12.5 is blocked because of a build error of the packed crate. prost/src/lib.rs refers to a README file that is outside of the published crate.
    
    Duplicate the main README into the prost crate to unblock the release
    caspermeijn committed May 8, 2024
    Configuration menu
    Copy the full SHA
    26405ab View commit details
    Browse the repository at this point in the history

Commits on May 17, 2024

  1. fix(prost-build): re-export error_message_protoc_not_found, `protoc…

    …_from_env` & `protoc_include_from_env` (#1063)
    
    fixes: #1062
    
    I'm adding to fix a breaking change introduced in #1020
    which moved these items.
    
    Since `0.12.5` this is causing build failures after `cargo update`.
    
    ```
       Compiling grpc-build v6.1.0
    error[E0432]: unresolved imports `prost_build::protoc_from_env`, `prost_build::protoc_include_from_env`
     --> /Users/ethan.brierley/.cargo/registry/src/index.crates.io-6f17d22bba15001f/grpc-build-6.1.0/src/lib.rs:3:19
      |
    3 | use prost_build::{protoc_from_env, protoc_include_from_env, Module};
      |                   ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^ no `protoc_include_from_env` in the root
      |                   |
      |                   no `protoc_from_env` in the root
    ```
    eopb committed May 17, 2024
    Configuration menu
    Copy the full SHA
    4b11315 View commit details
    Browse the repository at this point in the history
  2. chore: Release version 0.12.6 (#1065)

    _PROST!_ is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.
    
    This patch update fixes a regression:
    
    - fix(prost-build): re-export `error_message_protoc_not_found`, `protoc_from_env` & `protoc_include_from_env` (#1063)
    caspermeijn committed May 17, 2024
    Configuration menu
    Copy the full SHA
    d43f7e0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d42c85e View commit details
    Browse the repository at this point in the history

Commits on May 20, 2024

  1. feat: derive Copy trait for messages where possible (#950)

    * feat: derive Copy trait for messages where possible
    
    Rust primitive types can be copied by simply copying the bits. Rust structs can also have this property by deriving the Copy trait.
    
    Automatically derive Copy for:
    - messages that only have fields with primitive types
    - the Rust enum for one-of fields
    - messages whose field type are messages that also implement Copy
    
    Generated code for Protobuf enums already derives Copy.
    
    * fix: Remove clone call when copy is implemented
    
    Clippy reports: warning: using `clone` on type `Timestamp` which implements the `Copy` trait
    caspermeijn committed May 20, 2024
    Configuration menu
    Copy the full SHA
    85c698a View commit details
    Browse the repository at this point in the history
  2. Change generated functions signatures to remove type parameters (#1045)

    * Change generated functions signatures to remove type parameters; fixes #1042
    
    * Add test to confirm no type shadowing
    
    * Change generated functions signatures to remove type parameters (rest of ::prost::Message trait)
    
    * Change functions signatures to avoid generic type parameters
    shizzard committed May 20, 2024
    Configuration menu
    Copy the full SHA
    bb5a1fa View commit details
    Browse the repository at this point in the history

Commits on May 21, 2024

  1. fix: Build error due to merge conflict (#1068)

    Due to two pull requests changing the same function a build error occurred. `fields` has move to inside `oneof` and has changed type.
    caspermeijn committed May 21, 2024
    Configuration menu
    Copy the full SHA
    b2ce9ed View commit details
    Browse the repository at this point in the history

Commits on May 22, 2024

  1. chore: Add ci to check MSRV (#1057)

    Instead of rebuilding everything with Rust 1.70 (MSRV), use `cargo hack` to only build published crates at their specified `rust-version`.
    
    Co-authored-by: tottoto <tottotodev@gmail.com>
    caspermeijn and tottoto committed May 22, 2024
    Configuration menu
    Copy the full SHA
    b925a4f View commit details
    Browse the repository at this point in the history
  2. ci: Add all tests pass job (#1069)

    Add a job that only finished if all tests pass. This will be configured as a required test to make sure all jobs pass on every commit.
    caspermeijn committed May 22, 2024
    Configuration menu
    Copy the full SHA
    993a6d1 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2024

  1. ci: Add Dependabot (#957)

    sjackman committed May 23, 2024
    Configuration menu
    Copy the full SHA
    1ff42bf View commit details
    Browse the repository at this point in the history
  2. build(deps): update env_logger requirement from 0.10 to 0.11 (#1074)

    Updates the requirements on [env_logger](https://github.com/rust-cli/env_logger) to permit the latest version.
    - [Release notes](https://github.com/rust-cli/env_logger/releases)
    - [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
    - [Commits](rust-cli/env_logger@v0.10.0...v0.11.3)
    
    ---
    updated-dependencies:
    - dependency-name: env_logger
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] committed May 23, 2024
    Configuration menu
    Copy the full SHA
    f8a0e01 View commit details
    Browse the repository at this point in the history
  3. build(deps): update criterion requirement from 0.4 to 0.5 (#1071)

    Updates the requirements on [criterion](https://github.com/bheisler/criterion.rs) to permit the latest version.
    - [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md)
    - [Commits](bheisler/criterion.rs@0.4.0...0.5.1)
    
    ---
    updated-dependencies:
    - dependency-name: criterion
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] committed May 23, 2024
    Configuration menu
    Copy the full SHA
    b9c4d3d View commit details
    Browse the repository at this point in the history

Commits on May 24, 2024

  1. better checking of tag duplicates, avoid discarding invalid variant e…

    …rrs (#951)
    
    * better checking of tag duplicates, avoid discarding invalid variant errors
    
    * add some simple derive tests :)
    
    * use itertools duplicates()
    
    * don't print out unreadable syn junk when encountering unknown attributes
    
    * clarify and test backstop for the "multiple tags in a oneof variant" condition
    
    * use expect_err
    
    * nicer framing around the unknown attribute tokens
    
    * express higher minimal versions of itertools and proc-macro2 for cargo hack check
    
    * simplify bounds for proc-macro2
    
    Co-authored-by: Casper Meijn <casper@meijn.net>
    
    * update the other instance of the .tuple_windows() trick to use .duplicates()
    
    * clarify & shorten assertion
    
    ---------
    
    Co-authored-by: Casper Meijn <casper@meijn.net>
    mumbleskates and caspermeijn committed May 24, 2024
    Configuration menu
    Copy the full SHA
    eec717b View commit details
    Browse the repository at this point in the history
  2. build: Fix release scripts (#1055)

    The release scripts were broken by moving `prost` crate into a separated directory in #1033.
    
    fixes #1054
    caspermeijn committed May 24, 2024
    Configuration menu
    Copy the full SHA
    683091a View commit details
    Browse the repository at this point in the history

Commits on May 27, 2024

  1. Lightweight error value in TryFrom<i32> for enums (#1010)

    Add a new UnknownEnumValue error type to prost,
    change the TryFrom<i32> conversions generated for enums to use that
    as the associated Error type. The error value carries the original
    integer, making it also more informative than DecodeError.
    mzabaluev committed May 27, 2024
    Configuration menu
    Copy the full SHA
    4a7bba0 View commit details
    Browse the repository at this point in the history
  2. build(deps): Remove unused libz-sys (#1077)

    libz-sys is a optional dependency of a private crate that is never enabled.
    caspermeijn committed May 27, 2024
    Configuration menu
    Copy the full SHA
    4cbf941 View commit details
    Browse the repository at this point in the history
  3. ci: Ensure both README are the same and prost version is correct (#1078)

    * ci: Ensure both README are the same and prost version is correct
    
    Fixes #1053
    
    * docs: Update prost version in README
    
    * build: Fix prepare-release.sh for README
    caspermeijn committed May 27, 2024
    Configuration menu
    Copy the full SHA
    52ff081 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2024

  1. docs: Fix broken link warnings (#1056)

    * docs: Fix broken link warnings
    
    * ci: Check for documentation warnings
    caspermeijn committed May 31, 2024
    Configuration menu
    Copy the full SHA
    ef4930c View commit details
    Browse the repository at this point in the history
  2. workspace package metadata (#1036)

    * chore: remove `Cargo.toml` `documentation` field
    
    * chore: use cargo manifest  `workspace.package.authors`
    
    * chore: use cargo manifest  `workspace.package.repository`
    
    * chore: use cargo manifest  `workspace.package.license`
    
    * chore: use cargo manifest  `workspace.package.rust-version`
    
    * chore: use cargo manifest  `workspace.package.edition`:
    
    * chore: use cargo manifest  `workspace.package.version`
    
    * chore: group cargo workspace package metadata usage
    
    * chore: use `workspace.edition` for remaining 2021 edition crates
    gibbz00 committed May 31, 2024
    Configuration menu
    Copy the full SHA
    e7049d3 View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2024

  1. fix: Only touch include file if contents is changed (#1058)

    Most generated files are untouched when the contents doesn't change. Use the same mechanism for include file as well.
    caspermeijn committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    ba77654 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2024

  1. ci: Set rust version of clippy job to a fixed version (#1090)

    Prevent CI breakage when new lints are added to stable rust version by explicitly choosing the rust version used for the clippy job.
    caspermeijn committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    ae33a5e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4a0cc17 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2024

  1. build(deps): update itertools requirement from >=0.10, <=0.12 to >=0.…

    …10, <=0.14 (#1070)
    
    Updates the requirements on [itertools](https://github.com/rust-itertools/itertools) to permit the latest version.
    - [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
    - [Commits](rust-itertools/itertools@v0.10.0...v0.13.0)
    
    ---
    updated-dependencies:
    - dependency-name: itertools
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    7790799 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2024

  1. build: Fix prepare-release.sh (#1094)

    The prepare release script got out of sync with the actual code.
    - Automatically update the minor version in the readme
    - Cargo.toml version was moved in #1036
    caspermeijn committed Jul 8, 2024
    Configuration menu
    Copy the full SHA
    7a1424c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    23f7174 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2024

  1. fix: Enum variant named Error causes ambiguous item (#1098)

    The generated code uses `Self::Error` to refer to `::prost::UnknownEnumValue`, but the term `Error` is not unique when an enum variant is called `Error`. Use the full type name to resolve the ambiguity.
    
    The compiler reported:
    ```
    error: ambiguous associated item
       --> /home/ircdev/src/prost/target/debug/build/tests-no-std-e27db7197924752f/out/enum_keyword_variant.rs:2:68
        |
    2   | #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
        |                                                                    ^^^^^^^^^^^^^^^^^^^^
        |
        = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
        = note: for more information, see issue #57644 <rust-lang/rust#57644>
    note: `Error` could refer to the variant defined here
       --> /home/ircdev/src/prost/target/debug/build/tests-no-std-e27db7197924752f/out/enum_keyword_variant.rs:10:5
        |
    10  |     Error = 4,
        |     ^^^^^
    note: `Error` could also refer to the associated type defined here
       --> /home/ircdev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/convert/mod.rs:682:5
        |
    682 |     type Error;
        |     ^^^^^^^^^^
        = note: `#[deny(ambiguous_associated_items)]` on by default
        = note: this error originates in the derive macro `::prost::Enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
    ```
    caspermeijn committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    26463f4 View commit details
    Browse the repository at this point in the history
  2. chore: prepare 0.13.1 release (#1099)

    * release 0.13.1
    
    * update changelog
    LucioFranco committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    f19104a View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2024

  1. fix(prost-types): Fix date-time parsing (#1096)

    * upstream date-time parsing fixes
    
    * add regression tests
    mumbleskates committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    6481c61 View commit details
    Browse the repository at this point in the history
  2. build: Use proc-macro in Cargo.toml (#1102)

    The nightly compiler warns about a incompatibility of the Cargo.toml for the next edition. Use the backwards compatible `proc-macro` in the Cargo.toml.
    
    Compiler reports:
    ```
    warning: prost/prost-derive/Cargo.toml: `proc_macro` is deprecated in favor of `proc-macro` and will not work in the 2024 edition
    ```
    caspermeijn committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    a273108 View commit details
    Browse the repository at this point in the history
  3. build: Ignore missing features in tests crates (#1101)

    Only the crate `tests-2015` uses the feature `edition-2015`, but the code is shared with the `tests` crate.
    
    Same for `tests-no-std` which disables feature `std`, but reuses the code with the `tests` crate.
    
    Therefore the `tests`, `tests-2018` and `tests-no-std` crates should be configured to ignore the lint about missing features.
    
    Cargo clippy reports:
    ```
    warning: unexpected `cfg` condition value: `edition-2015`
     --> tests-no-std/../tests/src/build.rs:5:14
      |
    5 |     if #[cfg(feature = "edition-2015")] {
      |              ^^^^^^^-----------------
      |              |
      |              help: remove the condition
      |
      = note: no expected values for `feature`
      = help: consider adding `edition-2015` as a feature in `Cargo.toml`
      = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
      = note: `#[warn(unexpected_cfgs)]` on by default
    ```
    caspermeijn committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    688da45 View commit details
    Browse the repository at this point in the history
  4. style: Remove use of legacy numeric constants (#1089)

    Cargo clippy reports:
    
    ```
    warning: usage of a legacy numeric method
      --> prost/src/lib.rs:71:24
       |
    71 |     if length > usize::max_value() as u64 {
       |                        ^^^^^^^^^^^
       |
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants
    help: use the associated constant instead
       |
    71 |     if length > usize::MAX as u64 {
       |                        ~~~
    ```
    caspermeijn committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    ee61946 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2024

  1. Configuration menu
    Copy the full SHA
    366c6fb View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2024

  1. chore: Move old protobuf benchmark into prost (#1100)

    Add the benchmark protos and datasets from protobuf v3.14 to this repo. The upstream benchmarks have been
    changed (and later removed) in newer versions of the upstream library. This copy ensures that
    those benchmarks stay available for prost.
    
    This is a requirement for updating to newer upstream protobuf version.
    caspermeijn committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    d652301 View commit details
    Browse the repository at this point in the history
  2. build: Use separated build directory for protobuf (#1103)

    Prevent placing build artifacts in the protobuf source tree by choosing a build directory in the out dir. A `cargo clean` will clean up the build artifacts.
    caspermeijn committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    a291d06 View commit details
    Browse the repository at this point in the history
  3. Add From instances for Value (#1091)

    * Add Into instances for Value
    
    * Update conversions.rs
    
    * rustfmt
    andrzejressel committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    23d9fd7 View commit details
    Browse the repository at this point in the history
  4. fix(prost-types): Converting DateTime to Timestamp is fallible (#1095)

    The converstion from the private type DateTime to public type Timestamp is fallible when the DateTime is invalid. All code paths that used `DateTime::into::<Timestamp>()` first check whether the DateTime is valid and then do the conversion, therefore this problem was not visible. #893 points out that some conversions panic, however all these DateTime are invalid.
    
    Solution: Replace `impl From<DateTime> for Timestamp` with `TryFrom` and remove the manual `is_valid` checks before the conversion.
    
    I added the test cases from the issue and roundtrip test between DateTime and Timestamp.
    caspermeijn committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    e5cc951 View commit details
    Browse the repository at this point in the history
  5. prost-build: Extract file descriptor loading from compile_protos() (#…

    …1067)
    
    * prost-build: Extract file descriptor loading from compile_protos()
    
    * Update prost-build/src/config.rs
    
    Co-authored-by: Casper Meijn <casper@meijn.net>
    
    * Add concrete example for Config::load_fds()
    
    ---------
    
    Co-authored-by: Casper Meijn <casper@meijn.net>
    swallez and caspermeijn committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    6009233 View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2024

  1. fix(prost-types): Parse timestamp with long second fraction (#1106)

    `chrono` is able to parse timestamps which are more precise then nanoseconds. We can also do that but truncating the digits.
    caspermeijn committed Jul 20, 2024
    Configuration menu
    Copy the full SHA
    1076101 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2024

  1. build(fuzz): Fix building of fuzzing targets (#1107)

    * build(fuzz): afl is not in root directory
    
    There exists an `afl` directory inside `/fuzz/`, but that doesn't explain the workspace exclude
    
    * build(fuzz): create `fuzz` is not part of workspace
    
    Therefore it can't rely on workspace parameters
    
    * build(fuzz): Use released version of `libfizzer-sys`
    
    * build(fuzz): Add missing dependency
    caspermeijn committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    ad5650b View commit details
    Browse the repository at this point in the history