diff options
| author | Eval EXEC <execvy@gmail.com> | 2025-08-10 23:02:53 +0800 |
|---|---|---|
| committer | Eval EXEC <execvy@gmail.com> | 2025-08-10 23:02:53 +0800 |
| commit | de13718c66965852ba8970781908fa1eda9a54b9 (patch) | |
| tree | 2672a499d6efc2a91981c699f39261d95d0587a8 /tests/rustdoc | |
| parent | 7f7b8ef27d86c865a7ab20c7c42f50811c6a914d (diff) | |
| download | rust-de13718c66965852ba8970781908fa1eda9a54b9.tar.gz rust-de13718c66965852ba8970781908fa1eda9a54b9.zip | |
test: Add rustdoc test for enum negative overflow
Diffstat (limited to 'tests/rustdoc')
| -rw-r--r-- | tests/rustdoc/enum/enum-variant-value.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/rustdoc/enum/enum-variant-value.rs b/tests/rustdoc/enum/enum-variant-value.rs index 1670de8a24f..9cc85dfe10d 100644 --- a/tests/rustdoc/enum/enum-variant-value.rs +++ b/tests/rustdoc/enum/enum-variant-value.rs @@ -189,3 +189,25 @@ pub use bar::P; //@ has - '//*[@id="variant.A"]/h3' 'A(u32)' //@ matches - '//*[@id="variant.B"]/h3' '^B$' pub use bar::Q; + +// Ensure signed implicit discriminants are rendered correctly after a negative explicit value. +//@ has 'foo/enum.R.html' +//@ has - '//*[@class="rust item-decl"]/code' 'A = -2,' +//@ has - '//*[@class="rust item-decl"]/code' 'B = -1,' +//@ matches - '//*[@id="variant.A"]/h3' '^A = -2$' +//@ matches - '//*[@id="variant.B"]/h3' '^B = -1$' +pub enum R { + A = -2, + B, +} + +// Also check that incrementing -1 yields 0 for the next implicit variant. +//@ has 'foo/enum.S.html' +//@ has - '//*[@class="rust item-decl"]/code' 'A = -1,' +//@ has - '//*[@class="rust item-decl"]/code' 'B = 0,' +//@ matches - '//*[@id="variant.A"]/h3' '^A = -1$' +//@ matches - '//*[@id="variant.B"]/h3' '^B = 0$' +pub enum S { + A = -1, + B, +} |
