Apply #[diagnostic::on_unimplemented] attribute on Rust 1.78+ to suggest adding serde derive or enabling a "serde" feature flag in dependencies (#2767, thanks @weiznich)
All notable changes to this project will be documented in this file.
This is the combined CHANGELOG for all packages: iai-callgrind, iai-callgrind-runner and
iai-callgrind-macros. iai-callgrind and iai-callgrind-runner use the same version which is the
version used here. iai-callgrind-macros uses a different version number but is not a standalone
package, so its changes are also listed here.
(#160): Add --separate-targets (env: IAI_CALLGRIND_SEPARATE_TARGETS). Using this option causes the compilation target to be included in the iai-callgrind output directory tree to mitigate issues when running benchmarks on multiple targets. For example, instead of having all output files under target/iai, using this option puts all files under the directory target/iai/x86_64-unknown-linux-gnu if running the benchmarks on the x86_64-unknown-linux-gnu target.
(#188): Add the option --home (env: IAI_CALLGRIND_HOME) to be able to change the default home directory target/iai.
(#192): The #[bench] attribute now accepts a setup parameter similarly to the #[benches] attribute. The #[bench] and #[benches] attribute accept a new teardown parameter. The teardown function is called with the return value of the benchmark function. The #[library_benchmark] attribute now accepts a global setup and teardown parameter which are applied to all following #[bench] and #[benches] attributes if they don't specify one of these parameters themselves.
(#194): Add --nocapture (env: IAI_CALLGRIND_NOCAPTURE) option to tell iai-callgrind to not capture callgrind terminal output of benchmark functions. For all possible values see the README.
(#201): Add support for generic benchmark functions fixing #198 (Generic bench arguments cause compilation failure).
Changed
Update locked dependencies: syn -> 2.0.72, cc -> 1.1.5, serde -> 1.0.204
Update minimal version of syn -> 2.0.32
(#201): The BinaryBenchmarkConfig::entry_point and Run::entry_point functions now use glob patterns as argument with * as placeholder for any amount of characters.
(#203): Improve error messages during the initialization phase of the iai-callgrind-runner, get rid of a lot of unwraps and include a solution hint. These errors mainly happen if the iai-callgrind library has a different version than the iai-callgrind-runner binary.
Fixed
(#192): Fix a wrongly issued compiler error when the setup parameter was specified before the args parameter and the number of elements of the args parameter did not match the number of arguments of the benchmark function.
(#192): Fix the error span of wrong user supplied argument types or wrong number of arguments. The compiler errors now point to the exact location of any wrong arguments instead of the generic call-site of the #[library_benchmark] attribute. If there is a setup function involved, we leave it to the rust compiler to point to the location of the setup function and the wrong arguments.
(#160): Add
--separate-targets (env: IAI_CALLGRIND_SEPARATE_TARGETS). Using this
option causes the compilation target to be included in the iai-callgrind
output directory tree to mitigate issues when running benchmarks on multiple
targets. For example, instead of having all output files under target/iai,
using this option puts all files under the directory
target/iai/x86_64-unknown-linux-gnu if running the benchmarks on the
x86_64-unknown-linux-gnu target.
(#188): Add the
option --home (env: IAI_CALLGRIND_HOME) to be able to change the default
home directory target/iai.
(#192): The
#[bench] attribute now accepts a setup parameter similarly to the
#[benches] attribute. The #[bench] and #[benches] attribute accept a
new teardown parameter. The teardown function is called with the return
value of the benchmark function. The #[library_benchmark] attribute now
accepts a global setup and teardown parameter which are applied to all following
#[bench] and #[benches] attributes if they don't specify one of these
parameters themselves.
(#194): Add
--nocapture (env: IAI_CALLGRIND_NOCAPTURE) option to tell iai-callgrind to
not capture callgrind terminal output of benchmark functions. For all
possible values see the README.
(#201): Add support
for generic benchmark functions fixing #198 (Generic bench arguments cause
compilation failure).
Changed
Update locked dependencies: syn -> 2.0.72, cc -> 1.1.5, serde -> 1.0.204
Update minimal version of syn -> 2.0.32
(#201): The
BinaryBenchmarkConfig::entry_point and Run::entry_point functions now use
glob patterns as argument with * as placeholder for any amount of
characters.
(#203): Improve
error messages during the initialization phase of the iai-callgrind-runner,
get rid of a lot of unwraps and include a solution hint. These errors mainly
happen if the iai-callgrind library has a different version than the
iai-callgrind-runner binary.
Fixed
(#192): Fix a
wrongly issued compiler error when the setup parameter was specified before
the args parameter and the number of elements of the args parameter did not
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the cargo group with 6 updates in the / directory:
4.5.8
4.5.11
1.0.203
1.0.204
1.0.7
1.0.8
0.5.1
0.6.2
0.11.0
0.12.0
0.7.3
0.7.4
Updates
clap
from 4.5.8 to 4.5.11Release notes
Sourced from clap's releases.
Changelog
Sourced from clap's changelog.
Commits
349ed30
chore: Release68ed9ff
docs: Update changelogafecaa4
Merge pull request #5576 from shannmu/option_value_new4a00677
chore: Release36c849b
refactor(clap_complete): Reuse code about shortflag parsingfc479ba
feat(clap_complete): Add support for-fbar
and-f=bar
completion48a23f5
test(clap_complete): Add test cases for-fbar
and-f=bar
completion6b18d77
docs(derive): Acknowledge Vec<Vec>5efa52a
chore: Release1857e47
docs: Update changelogUpdates
serde
from 1.0.203 to 1.0.204Release notes
Sourced from serde's releases.
Commits
18dcae0
Release 1.0.20458c307f
Alphabetize list of rustc-check-cfg8cc4809
Merge pull request #2769 from dtolnay/onunimpl1179158
Update ui test with diagnostic::on_unimplemented from PR 276791aa40e
Add ui test of unsatisfied serde trait bound595019e
Cut test_suite from workspace members in old toolchain CI jobsb0d7917
Pull in trybuild 'following types implement trait' fix8e6637a
Merge pull request #2767 from weiznich/feature/diagnostic_on_unimplemented694fe05
Use the#[diagnostic::on_unimplemented]
attribute when possiblef3dfd2a
Suppress dead code warning in test of unit struct remote deriveUpdates
anstyle
from 1.0.7 to 1.0.8Commits
6e96e96
chore: Release71560fa
chore: Release9cb3b84
docs: Update changelog8e48cc8
Merge pull request #201 from joshtriplett/short-hex-colors1ec0b40
test: Add tests for 12-bit color4fa09f7
feat: Support short hex colors#RGB
for compatibility with git 2.4676f6849
chore(deps): Update compatible (dev) (#199)ffa2458
chore: Release53bccf9
docs(yansi): Update changelog8576df1
Merge pull request #198 from epage/yansiUpdates
quick_cache
from 0.5.1 to 0.6.2Release notes
Sourced from quick_cache's releases.
Commits
Updates
iai-callgrind
from 0.11.0 to 0.12.0Release notes
Sourced from iai-callgrind's releases.
... (truncated)
Changelog
Sourced from iai-callgrind's changelog.
... (truncated)
Commits
315a9a1
Merge branch 'release'4414593
Update CHANGELOG1303df0
Update README5e0bf6f
Bump version v0.11.1 -> v0.12.0f656e92
Bump iai-callgrind-macros version v0.2.0 -> v0.3.0d798b8d
Update CHANGELOGe168fda
Merge pull request #203 from gamma0987/better-version-mismatch-error-messagebfbd8c0
tests(runner): Add tests for the library and runner version comparisond67d90b
iai-callgrind-runner: Compare the library and runner version as soon as possibled1428eb
iai-callgrind-runner: Provide better error message if the argument parsing failsUpdates
built
from 0.7.3 to 0.7.4Changelog
Sourced from built's changelog.
Commits
d05629a
Bump to 0.7.48319218
Update git2 to 0.19.0 (#69)4e2d581
Update gh-actionsbb05c35
HonorSOURCE_DATE_EPOCH
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show