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

assert_bit_vector and as for bit-vector #32

Merged
merged 53 commits into from
Jan 15, 2022
Merged

Conversation

chanheec
Copy link
Contributor

Compared to the previous pull request, this pull request has a better way to block signed integers.
Also, it implements "as" for bit-vector via 'extract' and 'concat' in Z3.

@chanheec chanheec requested a review from yizhou7 January 14, 2022 20:24
@@ -58,6 +76,7 @@ pub enum MultiOp {
Sub,
Mul,
Distinct,
Extract,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In Z3, (_ extract i j) requires i and j to be constants, not arbitrary expressions. So I think this should be a UnaryOp Extract(u32, u32) rather than a MultiOp Extract.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, in spite of the printed SMT names, we can use BitConcat and BitExtract inside our ASTs for clarity.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the comments! All of them look great to me.

}
BinaryOp::Concat => {
if let TypX::BitVec(n1) = &*ts[0].0 {
if let TypX::BitVec(n2) = &*ts[1].0 {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor style suggestion: you can match on the pair (&*ts[0].0, &*ts[1].0) here to avoid having the nested ifs with two separate panics.

if let UnaryOp::Clip(new_range) = op {
match new_range {
IntRange::U(new_n) | IntRange::I(new_n) => match old_range {
IntRange::U(old_n) | IntRange::I(old_n) => {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor style note: you can avoid nesting if/if/match/match by doing nested matching on a pair: match (&*exp.typ, op) { (TypX::Int(IntRange::U(old_n) | IntRange::I(old_n)), UnaryOp::Clip(IntRange::U(new_n) | IntRange::I(new_n))) => ...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks much much cleaner this way! Thanks!

@Chris-Hawblitzel
Copy link
Collaborator

You can go ahead and merge this into the main branch.

@chanheec chanheec merged commit a35051d into main Jan 15, 2022
@chanheec chanheec deleted the bitvec-unsigned-concat branch January 15, 2022 18:30
Chris-Hawblitzel added a commit that referenced this pull request Jan 30, 2025
182b7c2bb More precise gitignore patterns
fc5bf6b40 Release 0.2.29
4e85487ba Merge pull request #103 from dtolnay/macrosemi
1290d70ed Preserve semicolon on braced statement-position macros
78b9b4003 Merge pull request #102 from dtolnay/floatdot
281784a84 Revert "Avoid trailing '.' on non-macro float literals"
99d37c538 Release 0.2.28
2f398b377 Merge pull request #101 from dtolnay/skiprelease
e8c63d461 Skip `cargo test --release` on old rustc
f191a5ba0 Merge pull request #100 from dtolnay/closurebailout
490d479ee Disregard bailouts inside of closure bodies
ee1a762a5 Increase expression depth in test_precedence
c56aafcc3 Fix scan_right out of sync with syn
d6296ce3b Merge pull request #98 from dtolnay/permutations
78609985e Make permutations test compatible with Rust pre-1.65
0ee28e66b Add precedence permutations test
8ac4fd32e Merge pull request #97 from dtolnay/matcharm
0f7da1218 Print match arm with paren instead of brace if invalid as stmt
24712df07 Simplify match-arm spacing
9c2bb02eb Propagate fixup information inside closure body
465fa06c7 Merge pull request #96 from dtolnay/postbreak
4c613674b Support multi-char post_break
4d65c3ce7 Merge pull request #95 from dtolnay/parseablestmt
d6d84246e Fix some parseable_as_stmt edge cases
f2117b8a5 Merge pull request #94 from dtolnay/parseablestmt
9ff53194a Convert parseable_as_stmt to non-recursive
fda4495f4 Merge pull request #93 from dtolnay/matcharm
2b7442837 Deduplicate match-arm terminator logic
f3cba4ad7 Merge pull request #92 from dtolnay/rangerange
7e125a2b9 Separate consecutive ranges with a space
74772cb86 Merge pull request #91 from dtolnay/up
487078d22 Resolve unnecessary_lazy_evaluations clippy lints
65012eca6 Raise required compiler to Rust 1.62
ebefa9de8 Merge pull request #90 from dtolnay/synprecedence
1cfd65ab1 Synchronize precedence implementation from syn 2.0.96
277a63bb8 Ignore bool_to_int_with_if pedantic clippy lint
57258305f Update non_exhaustive_omitted_patterns false positive link
882f0ed68 Release 0.2.27
0ddbeab0e Merge pull request #89 from dtolnay/floatdot
988425d32 Avoid trailing '.' on non-macro float literals
5478bcf19 Release 0.2.26
1dd1aaec1 Merge pull request #88 from dtolnay/precedence
5b476dfa4 Wire up fixups for precedence
3dd7a2351 Fix imported syn code compilation
3ea1499d0 Copy precedence implementation from syn 2.0.95
b359ab075 Look into Group expressions for statement termination
6623df065 Properly space and indent const arguments in blocks
9d24e92a3 Simplify printing of Stmt::Local box ends
ba264e3b2 Automatically brace the body in closures with return type
d3b30dbdd Improve small block spacing around diverge expressions
8e5ae6779 Factor our expression small block printing
8c7a11cf2 Merge pull request #87 from dtolnay/exprinpath
bf0ca9544 Share logic for wrapping const expression in braces in path
a947562f5 Rename subexpr -> prefix_subexpr
02584e4f3 Prevent upload-artifact step from causing CI failure
50de5c67a Release 0.2.25
06791ead0 Merge pull request #85 from dtolnay/externsafe
db38f770c Print safe and explicitly unsafe foreign items
91ebe48d5 Merge pull request #84 from dtolnay/buildenv
265ab3b51 Use $CARGO_PKG_VERSION from buildscript exec-time instead of build-time
c6f081535 Release 0.2.24
4ca0f7623 Merge pull request #83 from dtolnay/precisecapture
3381c6447 Pretty print TypeParamBound::PreciseCapture
a1701f793 Release 0.2.23
b4919cf22 Merge pull request #82 from dtolnay/rawaddr
eb15c0c14 Pretty print Expr::RawAddr
75e1f4fb4 Ignore ref_option pedantic clippy lint
c28d8ea50 Release 0.2.22
dd76fd613 Merge pull request #80 from dtolnay/precisecapture
b54cd1266 Pretty-print precise capture syntax (`use<>`)
61bd508ab Upload CI Cargo.lock for reproducing failures
ea2044e13 Release 0.2.21
11c45ff3a Merge pull request #79 from dtolnay/tailcall
d2881c32e Pretty-print tail calls (`become`)
53aac3023 Merge pull request #78 from dtolnay/rustfmtbug
cff71f363 Revert "Work around rustfmt 'rewriting static' bug"
8584223d1 Resolve single_match_else pedantic clippy lint
93f207864 Merge pull request #76 from dtolnay/rustfmtbug
39a3f7501 Work around rustfmt 'rewriting static' bug
060a8adf6 Update rustfmt output to nightly-2024-06-24
8f7bb3afe Raise minimum supported compiler to 1.61
22da86d97 Update unstable rustc_parse code to nightly-2024-06-06
179974cc9 Release 0.2.20
132140492 Merge pull request #73 from dtolnay/checkcfg
c24065683 Resolve unexpected_cfgs warning
096eac9c6 Update rustc initialization to nightly-2024-04-17
e0d74e690 Release 0.2.19
8e800f6fd Merge pull request #72 from dtolnay/assign
a6aa3903d Fix line placement for field assignment with multiline value
659fde697 Release 0.2.18
fadd0dfa9 Merge pull request #71 from dtolnay/cstr
1ad491d82 Support C-string literal syntax
86ac6a949 Raise required compiler to rust 1.60
cf2ecc110 Fix typo in readme and crate-level documentation
45f047f2a Explicitly install a Rust toolchain for cargo-outdated job
0875d2df6 Release 0.2.17
7f0aef1c7 Merge pull request #70 from dtolnay/selfas
a89930441 Preserve braces in 'use path::to::{self as rename}'
d8b35956b Revert "Temporarily disable prettyplease-update-examples in CI"
c49b5fec0 Temporarily disable prettyplease-update-examples in CI
2b6085fb8 Update test suite to nightly-2024-03-06
d54ac4680 Merge pull request #66 from dtolnay/exhaustive
bcbb5fc44 Pick up changes to non_exhaustive_omitted_patterns lint
380c7b8c5 Release 0.2.16
7b9b35074 Pull in proc-macro2 sccache fix
987bea1eb Merge pull request #65 from dtolnay/testmatchguard
e5e951130 Add test of parenthesization of struct lit in match guard
ae86c8ce7 Merge pull request #64 from dtolnay/grouped
acdc42ebf Look into invisible delimiters to determine exterior struct lit
b2f30c7f3 Merge pull request #63 from dtolnay/structcond
157544394 Add test of automatic parenthesization of braced structs in cond
11ebfab3c Format with new rustfmt that handles let-else
91033e81b Give a variable name before passing boolean arg
93aa5b31b Resolve get_first clippy lint
1e8e67e83 Test docs.rs documentation build in CI
10b1e419c Release 0.2.15
550c3296a Merge pull request #60 from dtolnay/iflet
8ad4602ea Update cargo-expand products
d8f127fbe Improve indentation of if-let and while-let expressions
44f5a4a82 Update actions/checkout@v3 -> v4
823914d11 Release 0.2.14
df04af8b0 Merge pull request #59 from dtolnay/constverbatim
4b8b6ef80 Support generics on const item
c3b96858f Parse const item inside verbatim trait item
80b4ef3bb Release 0.2.13
4ec51afc3 Merge pull request #58 from dtolnay/unnamedfields
b5aabc5b0 Support unnamed struct/union type syntax
1bd9b57a0 Release 0.2.12
b97e38da5 Opt in to generate-link-to-definition when building on docs.rs
17dc0a9a7 Release 0.2.11
0142ff4f7 Merge pull request #56 from dtolnay/letelse
ba428ece9 Improve let-else formatting
7120cbe8d Select a single docs.rs build target
8e9d001a4 Release 0.2.10
73eae68e5 Update deps to a proc-macro2 that works on current nightly
f44639ce9 Add CI job using minimal-versions
6f7a9eebd Merge pull request #54 from dtolnay/verbatimattr
596ceaf8d Preserve attributes on verbatim Expr
4a2318ec7 Release 0.2.9
1593a0c0f Recognize ellipsis placeholder in all verbatim nodes
82d41ab2a Release 0.2.8
ad3755e8d Merge pull request #53 from dtolnay/closurebrace
4484fe0bf Prevent brace insertion from changing meaning of expression
046164941 Reduce visibility of requires_terminator
0aa895b7e Release 0.2.7
c32ce5c9a Merge pull request #51 from dtolnay/macros
9b42ba611 Format some standard library macros better
f69383aff Release 0.2.6
8c82f67c6 Merge pull request #49 from dtolnay/macrorulessemi
f4c9eac76 Fix semicolon on macro_rules written with parentheses
606490c15 Release 0.2.5
587525c3d Merge pull request #47 from dtolnay/builtin
12505bf21 Support builtin# expr syntax
ea7c3dde0 Fix new unused_mut detected by nightly-2023-04-30
f23278a76 Update fuzz crate gitignore to ignore coverage dir
9204b588b Release 0.2.4
858ee6041 Fix printing of path generics in trait part of qpath
b0e14e3b0 Release 0.2.3
6fd3bc1e0 Turn on verbatim feature when built by Rust playground
68f001b7d Merge pull request #45 from dtolnay/armexpr
083de82f7 Improve formatting of line-wrapped match arms
c08cb35f8 Release 0.2.2
801c67e9d Pull in all syn verbatim parsing fixes
330d8923b Fix linkage name for the build script
9925e2929 Support TraitItem::Verbatim containing visibility or defaultness
6d6618fbf Support ImplItem::Verbatim containing const without init
bf0d92f59 Rename flexible impl data structure to match the other verbatim types
47ff683fb Support ForeignItem::Verbatim containing static with init
d7c3d9a40 Support ForeignItem::Verbatim containing fn with body
78f42b4ae Support verbatim type in various items
abf4c2dfd Support empty variants on all verbatim items
7859fc1b9 Let each verbatim variant take care of the trailing linebreak
e80d246a7 Release 0.2.1
756ca8e3a Support ImplItem::Verbatim containing fn without body
af0ca9e1d Support Pat::Verbatim containing box pattern
bad0ffdf0 Support Pat::Verbatim containing const block pattern
c353ce4ab Support Item::Verbatim containing macros 2.0 definition
97d06b7e4 Support Item::Verbatim containing impl block
91f77eb7d Support Item::Verbatim containing const with no init expr
6d0c81226 Support Item::Verbatim containing static with no init expr
ca8a08193 Turn StaticMutability match into exhaustive match
1c0229b7f Factor out a function for printing static mutability
dbf29c35b Support Item::Verbatim containing untyped static
918f087c2 Support Item::Verbatim containing function without body
fbd724a82 Release 0.2.0
45aff6155 Re-enable cargo outdated CI
178a5290f Merge pull request #43 from dtolnay/syn
03793736b Update to syn 2
c1eaf472d Merge pull request #42 from dtolnay/fuzz
cef5aa1f8 Check fuzz target compilation in CI
4b92465f0 Add fuzz target
5b97e8c1a Use exhaustive expr matches in the stmt printer
b22d89f0b Touch up is_short_ident
9566d1533 Convert some expr matches to exhaustive in test mode
1fa676cdd Temporarily defer syn upgrade from failing cargo outdated job
29d859477 Improve formatting of unsafe blocks using small_block
bffb4eb57 Merge pull request #38 from dtolnay/spanlocation
a8c938191 Print location when prettyplease-update fails to parse file
4b5a35858 Resolve collapsible_if clippy lint
3c2be1af5 Simplify using PathArguments::is_none
240ec7c4b Merge pull request #37 from dtolnay/pathkind
e9d45ffb1 Override choice of colons token in angle bracketed path args
e7b61dcee Remove misleading comment copied from syn
81780e0eb Release 0.1.25
d754bf9bd Simpler finding of last generic param
f12245c05 Merge pull request #36 from dtolnay/genericorder
1c6a69387 Fix printing of trailing comma after reordered generic params
208e46f02 Release 0.1.24
f7fb52035 Set html_root_url
5d4bd38ee Ignore let_underscore_untyped pedantic clippy lint
9c2ccf4ae Reuse all the compiler's locale resources
0e5047408 More concise construction of file path mapping
5f98a8347 Update test suite to nightly-2023-02-23
471fe8dfb Revert "Enable type layout randomization in CI on nightly"
ef7636fdc Enable type layout randomization in CI on nightly
97b378b89 Support a manual trigger on CI workflow
a158e6f77 Release 0.1.23
88079f576 Merge pull request #33 from wada314/master
c1709d0e2 Reflecting the review comments.
efa202add little more formatting
408ae4d5e Fix the type alias's `where` clause position according to the updated rust syntax (see rust issue #89122)
e07d1bfc4 Fix -lLLVM-15-rust-1.68.0-nightly link error
26f813955 Fix 'crate rustc_ast_pretty required to be available in rlib format'
cb56bca9f Opt out -Zrustdoc-scrape-examples on docs.rs
65fac699e Prevent actions duplication on noop merge commits
5b9c28640 Sync license text with rust-lang repos
384a7be35 Release 0.1.22
7bee2576d Update build status badge
afd1507a8 Prevent build.rs rerunning unnecessarily on all source changes
230b38165 Time out workflows after 45 minutes
57ef1a2f3 Release 0.1.21
f187a3379 Merge pull request #32 from dtolnay/nestedcomment
88e689b7f Handle doc comments containing comment end characters
81cb7a9aa Resolve unnecessary_cast clippy lint
385e50509 Release 0.1.20
d00b46b85 Merge pull request #30 from dtolnay/commavariadic
9176eaeca Fix comma before variadic
cd747734a Remove default package.readme metadata from Cargo.toml
ecbc00c13 GitHub Workflows security hardening
dd3960c83 Release 0.1.19
412d2fc28 Merge pull request #28 from dtolnay/elseif
2ab84dc65 Add a sponsors link
b23346b7a Fix indentation of multi-line 'else if'
68f8ef707 Release 0.1.18
372913cf2 Update keywords in crates.io metadata
a706fc246 Add categories to crates.io metadata
d026d91b8 Sort package entries in Cargo.toml
6f5dc623c Release 0.1.17
ad4309e3f Center align table columns
ea63e116b Checkmark to green heart
7f9d6fd0f Release 0.1.16
802efdda7 Merge pull request #26 from dtolnay/emptyangle
ecfe618f4 Strip off empty angle bracketed generic arguments

git-subtree-dir: dependencies/prettyplease
git-subtree-split: 182b7c2bb1b3758cb652c74fef8f8ebd1b244ec8
utaal pushed a commit that referenced this pull request Jan 31, 2025
182b7c2bb More precise gitignore patterns
fc5bf6b40 Release 0.2.29
4e85487ba Merge pull request #103 from dtolnay/macrosemi
1290d70ed Preserve semicolon on braced statement-position macros
78b9b4003 Merge pull request #102 from dtolnay/floatdot
281784a84 Revert "Avoid trailing '.' on non-macro float literals"
99d37c538 Release 0.2.28
2f398b377 Merge pull request #101 from dtolnay/skiprelease
e8c63d461 Skip `cargo test --release` on old rustc
f191a5ba0 Merge pull request #100 from dtolnay/closurebailout
490d479ee Disregard bailouts inside of closure bodies
ee1a762a5 Increase expression depth in test_precedence
c56aafcc3 Fix scan_right out of sync with syn
d6296ce3b Merge pull request #98 from dtolnay/permutations
78609985e Make permutations test compatible with Rust pre-1.65
0ee28e66b Add precedence permutations test
8ac4fd32e Merge pull request #97 from dtolnay/matcharm
0f7da1218 Print match arm with paren instead of brace if invalid as stmt
24712df07 Simplify match-arm spacing
9c2bb02eb Propagate fixup information inside closure body
465fa06c7 Merge pull request #96 from dtolnay/postbreak
4c613674b Support multi-char post_break
4d65c3ce7 Merge pull request #95 from dtolnay/parseablestmt
d6d84246e Fix some parseable_as_stmt edge cases
f2117b8a5 Merge pull request #94 from dtolnay/parseablestmt
9ff53194a Convert parseable_as_stmt to non-recursive
fda4495f4 Merge pull request #93 from dtolnay/matcharm
2b7442837 Deduplicate match-arm terminator logic
f3cba4ad7 Merge pull request #92 from dtolnay/rangerange
7e125a2b9 Separate consecutive ranges with a space
74772cb86 Merge pull request #91 from dtolnay/up
487078d22 Resolve unnecessary_lazy_evaluations clippy lints
65012eca6 Raise required compiler to Rust 1.62
ebefa9de8 Merge pull request #90 from dtolnay/synprecedence
1cfd65ab1 Synchronize precedence implementation from syn 2.0.96
277a63bb8 Ignore bool_to_int_with_if pedantic clippy lint
57258305f Update non_exhaustive_omitted_patterns false positive link
882f0ed68 Release 0.2.27
0ddbeab0e Merge pull request #89 from dtolnay/floatdot
988425d32 Avoid trailing '.' on non-macro float literals
5478bcf19 Release 0.2.26
1dd1aaec1 Merge pull request #88 from dtolnay/precedence
5b476dfa4 Wire up fixups for precedence
3dd7a2351 Fix imported syn code compilation
3ea1499d0 Copy precedence implementation from syn 2.0.95
b359ab075 Look into Group expressions for statement termination
6623df065 Properly space and indent const arguments in blocks
9d24e92a3 Simplify printing of Stmt::Local box ends
ba264e3b2 Automatically brace the body in closures with return type
d3b30dbdd Improve small block spacing around diverge expressions
8e5ae6779 Factor our expression small block printing
8c7a11cf2 Merge pull request #87 from dtolnay/exprinpath
bf0ca9544 Share logic for wrapping const expression in braces in path
a947562f5 Rename subexpr -> prefix_subexpr
02584e4f3 Prevent upload-artifact step from causing CI failure
50de5c67a Release 0.2.25
06791ead0 Merge pull request #85 from dtolnay/externsafe
db38f770c Print safe and explicitly unsafe foreign items
91ebe48d5 Merge pull request #84 from dtolnay/buildenv
265ab3b51 Use $CARGO_PKG_VERSION from buildscript exec-time instead of build-time
c6f081535 Release 0.2.24
4ca0f7623 Merge pull request #83 from dtolnay/precisecapture
3381c6447 Pretty print TypeParamBound::PreciseCapture
a1701f793 Release 0.2.23
b4919cf22 Merge pull request #82 from dtolnay/rawaddr
eb15c0c14 Pretty print Expr::RawAddr
75e1f4fb4 Ignore ref_option pedantic clippy lint
c28d8ea50 Release 0.2.22
dd76fd613 Merge pull request #80 from dtolnay/precisecapture
b54cd1266 Pretty-print precise capture syntax (`use<>`)
61bd508ab Upload CI Cargo.lock for reproducing failures
ea2044e13 Release 0.2.21
11c45ff3a Merge pull request #79 from dtolnay/tailcall
d2881c32e Pretty-print tail calls (`become`)
53aac3023 Merge pull request #78 from dtolnay/rustfmtbug
cff71f363 Revert "Work around rustfmt 'rewriting static' bug"
8584223d1 Resolve single_match_else pedantic clippy lint
93f207864 Merge pull request #76 from dtolnay/rustfmtbug
39a3f7501 Work around rustfmt 'rewriting static' bug
060a8adf6 Update rustfmt output to nightly-2024-06-24
8f7bb3afe Raise minimum supported compiler to 1.61
22da86d97 Update unstable rustc_parse code to nightly-2024-06-06
179974cc9 Release 0.2.20
132140492 Merge pull request #73 from dtolnay/checkcfg
c24065683 Resolve unexpected_cfgs warning
096eac9c6 Update rustc initialization to nightly-2024-04-17
e0d74e690 Release 0.2.19
8e800f6fd Merge pull request #72 from dtolnay/assign
a6aa3903d Fix line placement for field assignment with multiline value
659fde697 Release 0.2.18
fadd0dfa9 Merge pull request #71 from dtolnay/cstr
1ad491d82 Support C-string literal syntax
86ac6a949 Raise required compiler to rust 1.60
cf2ecc110 Fix typo in readme and crate-level documentation
45f047f2a Explicitly install a Rust toolchain for cargo-outdated job
0875d2df6 Release 0.2.17
7f0aef1c7 Merge pull request #70 from dtolnay/selfas
a89930441 Preserve braces in 'use path::to::{self as rename}'
d8b35956b Revert "Temporarily disable prettyplease-update-examples in CI"
c49b5fec0 Temporarily disable prettyplease-update-examples in CI
2b6085fb8 Update test suite to nightly-2024-03-06
d54ac4680 Merge pull request #66 from dtolnay/exhaustive
bcbb5fc44 Pick up changes to non_exhaustive_omitted_patterns lint
380c7b8c5 Release 0.2.16
7b9b35074 Pull in proc-macro2 sccache fix
987bea1eb Merge pull request #65 from dtolnay/testmatchguard
e5e951130 Add test of parenthesization of struct lit in match guard
ae86c8ce7 Merge pull request #64 from dtolnay/grouped
acdc42ebf Look into invisible delimiters to determine exterior struct lit
b2f30c7f3 Merge pull request #63 from dtolnay/structcond
157544394 Add test of automatic parenthesization of braced structs in cond
11ebfab3c Format with new rustfmt that handles let-else
91033e81b Give a variable name before passing boolean arg
93aa5b31b Resolve get_first clippy lint
1e8e67e83 Test docs.rs documentation build in CI
10b1e419c Release 0.2.15
550c3296a Merge pull request #60 from dtolnay/iflet
8ad4602ea Update cargo-expand products
d8f127fbe Improve indentation of if-let and while-let expressions
44f5a4a82 Update actions/checkout@v3 -> v4
823914d11 Release 0.2.14
df04af8b0 Merge pull request #59 from dtolnay/constverbatim
4b8b6ef80 Support generics on const item
c3b96858f Parse const item inside verbatim trait item
80b4ef3bb Release 0.2.13
4ec51afc3 Merge pull request #58 from dtolnay/unnamedfields
b5aabc5b0 Support unnamed struct/union type syntax
1bd9b57a0 Release 0.2.12
b97e38da5 Opt in to generate-link-to-definition when building on docs.rs
17dc0a9a7 Release 0.2.11
0142ff4f7 Merge pull request #56 from dtolnay/letelse
ba428ece9 Improve let-else formatting
7120cbe8d Select a single docs.rs build target
8e9d001a4 Release 0.2.10
73eae68e5 Update deps to a proc-macro2 that works on current nightly
f44639ce9 Add CI job using minimal-versions
6f7a9eebd Merge pull request #54 from dtolnay/verbatimattr
596ceaf8d Preserve attributes on verbatim Expr
4a2318ec7 Release 0.2.9
1593a0c0f Recognize ellipsis placeholder in all verbatim nodes
82d41ab2a Release 0.2.8
ad3755e8d Merge pull request #53 from dtolnay/closurebrace
4484fe0bf Prevent brace insertion from changing meaning of expression
046164941 Reduce visibility of requires_terminator
0aa895b7e Release 0.2.7
c32ce5c9a Merge pull request #51 from dtolnay/macros
9b42ba611 Format some standard library macros better
f69383aff Release 0.2.6
8c82f67c6 Merge pull request #49 from dtolnay/macrorulessemi
f4c9eac76 Fix semicolon on macro_rules written with parentheses
606490c15 Release 0.2.5
587525c3d Merge pull request #47 from dtolnay/builtin
12505bf21 Support builtin# expr syntax
ea7c3dde0 Fix new unused_mut detected by nightly-2023-04-30
f23278a76 Update fuzz crate gitignore to ignore coverage dir
9204b588b Release 0.2.4
858ee6041 Fix printing of path generics in trait part of qpath
b0e14e3b0 Release 0.2.3
6fd3bc1e0 Turn on verbatim feature when built by Rust playground
68f001b7d Merge pull request #45 from dtolnay/armexpr
083de82f7 Improve formatting of line-wrapped match arms
c08cb35f8 Release 0.2.2
801c67e9d Pull in all syn verbatim parsing fixes
330d8923b Fix linkage name for the build script
9925e2929 Support TraitItem::Verbatim containing visibility or defaultness
6d6618fbf Support ImplItem::Verbatim containing const without init
bf0d92f59 Rename flexible impl data structure to match the other verbatim types
47ff683fb Support ForeignItem::Verbatim containing static with init
d7c3d9a40 Support ForeignItem::Verbatim containing fn with body
78f42b4ae Support verbatim type in various items
abf4c2dfd Support empty variants on all verbatim items
7859fc1b9 Let each verbatim variant take care of the trailing linebreak
e80d246a7 Release 0.2.1
756ca8e3a Support ImplItem::Verbatim containing fn without body
af0ca9e1d Support Pat::Verbatim containing box pattern
bad0ffdf0 Support Pat::Verbatim containing const block pattern
c353ce4ab Support Item::Verbatim containing macros 2.0 definition
97d06b7e4 Support Item::Verbatim containing impl block
91f77eb7d Support Item::Verbatim containing const with no init expr
6d0c81226 Support Item::Verbatim containing static with no init expr
ca8a08193 Turn StaticMutability match into exhaustive match
1c0229b7f Factor out a function for printing static mutability
dbf29c35b Support Item::Verbatim containing untyped static
918f087c2 Support Item::Verbatim containing function without body
fbd724a82 Release 0.2.0
45aff6155 Re-enable cargo outdated CI
178a5290f Merge pull request #43 from dtolnay/syn
03793736b Update to syn 2
c1eaf472d Merge pull request #42 from dtolnay/fuzz
cef5aa1f8 Check fuzz target compilation in CI
4b92465f0 Add fuzz target
5b97e8c1a Use exhaustive expr matches in the stmt printer
b22d89f0b Touch up is_short_ident
9566d1533 Convert some expr matches to exhaustive in test mode
1fa676cdd Temporarily defer syn upgrade from failing cargo outdated job
29d859477 Improve formatting of unsafe blocks using small_block
bffb4eb57 Merge pull request #38 from dtolnay/spanlocation
a8c938191 Print location when prettyplease-update fails to parse file
4b5a35858 Resolve collapsible_if clippy lint
3c2be1af5 Simplify using PathArguments::is_none
240ec7c4b Merge pull request #37 from dtolnay/pathkind
e9d45ffb1 Override choice of colons token in angle bracketed path args
e7b61dcee Remove misleading comment copied from syn
81780e0eb Release 0.1.25
d754bf9bd Simpler finding of last generic param
f12245c05 Merge pull request #36 from dtolnay/genericorder
1c6a69387 Fix printing of trailing comma after reordered generic params
208e46f02 Release 0.1.24
f7fb52035 Set html_root_url
5d4bd38ee Ignore let_underscore_untyped pedantic clippy lint
9c2ccf4ae Reuse all the compiler's locale resources
0e5047408 More concise construction of file path mapping
5f98a8347 Update test suite to nightly-2023-02-23
471fe8dfb Revert "Enable type layout randomization in CI on nightly"
ef7636fdc Enable type layout randomization in CI on nightly
97b378b89 Support a manual trigger on CI workflow
a158e6f77 Release 0.1.23
88079f576 Merge pull request #33 from wada314/master
c1709d0e2 Reflecting the review comments.
efa202add little more formatting
408ae4d5e Fix the type alias's `where` clause position according to the updated rust syntax (see rust issue #89122)
e07d1bfc4 Fix -lLLVM-15-rust-1.68.0-nightly link error
26f813955 Fix 'crate rustc_ast_pretty required to be available in rlib format'
cb56bca9f Opt out -Zrustdoc-scrape-examples on docs.rs
65fac699e Prevent actions duplication on noop merge commits
5b9c28640 Sync license text with rust-lang repos
384a7be35 Release 0.1.22
7bee2576d Update build status badge
afd1507a8 Prevent build.rs rerunning unnecessarily on all source changes
230b38165 Time out workflows after 45 minutes
57ef1a2f3 Release 0.1.21
f187a3379 Merge pull request #32 from dtolnay/nestedcomment
88e689b7f Handle doc comments containing comment end characters
81cb7a9aa Resolve unnecessary_cast clippy lint
385e50509 Release 0.1.20
d00b46b85 Merge pull request #30 from dtolnay/commavariadic
9176eaeca Fix comma before variadic
cd747734a Remove default package.readme metadata from Cargo.toml
ecbc00c13 GitHub Workflows security hardening
dd3960c83 Release 0.1.19
412d2fc28 Merge pull request #28 from dtolnay/elseif
2ab84dc65 Add a sponsors link
b23346b7a Fix indentation of multi-line 'else if'
68f8ef707 Release 0.1.18
372913cf2 Update keywords in crates.io metadata
a706fc246 Add categories to crates.io metadata
d026d91b8 Sort package entries in Cargo.toml
6f5dc623c Release 0.1.17
ad4309e3f Center align table columns
ea63e116b Checkmark to green heart
7f9d6fd0f Release 0.1.16
802efdda7 Merge pull request #26 from dtolnay/emptyangle
ecfe618f4 Strip off empty angle bracketed generic arguments

git-subtree-dir: dependencies/prettyplease
git-subtree-split: 182b7c2bb1b3758cb652c74fef8f8ebd1b244ec8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants