profile
viewpoint

tmiasko/pyjags 6

PyJAGS: The Python Interface to JAGS

tmiasko/fsb-vorbis-extractor 1

FSB Vorbis Extractor

tmiasko/async-std 0

Async version of the Rust standard library

tmiasko/backtrace-rs 0

Backtraces in Rust

tmiasko/compiler-builtins 0

Porting `compiler-rt` intrinsics to Rust

tmiasko/dbus-launch-rs 0

A dbus-daemon launcher

tmiasko/futures-rs 0

Zero-cost asynchronous programming in Rust

delete branch tmiasko/rust

delete branch : sanitizer-docs

delete time in 4 hours

pull request commentrust-lang/compiler-builtins

Place __muloti4 in a separate object file

In the context of libc++ it is isolated to a single symbol https://github.com/llvm/llvm-project/blob/master/libcxx/src/filesystem/int128_builtins.cpp

But more generally this would definitely need a different solution, one that is compatible with Rust implementations.

tmiasko

comment created time in 8 hours

Pull request review commentrust-lang/rust

Remove -Z no-landing-pads flag

 //! Tests that generators that cannot return or unwind don't have unnecessary //! panic branches. -// compile-flags: -Zno-landing-pads+// compile-flags: -C panic=abort 
// no-prefer-dynamic

Amanieu

comment created time in 16 hours

pull request commentrust-lang/rust

Remove -Z no-landing-pads flag

Most likely result of using -Cpanic=abort together with -Cprefer-dynamic since the standard library is compiled with unwind strategy.

$ echo 'fn main(){}' > a.rs
$ rustc -Cpanic=abort -Cprefer-dynamic a.rs
error: the linked panic runtime `panic_unwind` is not compiled with this crate's panic strategy `abort`

error: aborting due to previous error
Amanieu

comment created time in 16 hours

push eventtmiasko/compiler-builtins

Tomasz Miąsko

commit sha 33810d71a5c8320037ffa52ccb94743c3488a0c3

Place __muloti4 in a separate object file libc++ defines __muloti4 builtin llvm.org/PR30643. When referenced and linked before compiler builtins, it will likely lead to a link failure, since all Rust implemented builtins are currently placed in a single object file. Workaround the issue by using a C implementation when enabled.

view details

Tomasz Miąsko

commit sha 1ddba06c6c8d7d9c6ca64bc313adba69f3bd03e8

rustup: update regardless of missing components

view details

push time in 19 hours

push eventtmiasko/compiler-builtins

Tomasz Miąsko

commit sha acd2d65c7967905b64f93622ef96eda5e47db6ef

Place __muloti4 in a separate object file libc++ defines __muloti4 builtin llvm.org/PR30643. When referenced and linked before compiler builtins, it will likely lead to a link failure, since all Rust implemented builtins are currently placed in a single object file. Workaround the issue by using a C implementation when enabled.

view details

Tomasz Miąsko

commit sha da692aca16743df15c35e2a78df64fd7c148db14

rustup: update regardless of missing components

view details

push time in 19 hours

issue commentrust-lang/rust

i686-pc-windows-gnu fails to link on appveyor

The compiler-builtins CI now fails with the same error. The latest working nightly is 2020-03-14. Looks like it is related to changes from #67502 which included -lpthread in link args.

retep998

comment created time in 19 hours

push eventtmiasko/compiler-builtins

Tomasz Miąsko

commit sha b365f3da50833de151055eb9617868b9d40adf87

rustup: Test nightly-2020-03-15-i686-gnu

view details

push time in 20 hours

push eventtmiasko/compiler-builtins

Tomasz Miąsko

commit sha 76810348b2db31623bcad1ae326f0587069cfd36

rustup: Test nightly-2020-03-15-i686-gnu

view details

push time in 20 hours

push eventtmiasko/compiler-builtins

Tomasz Miąsko

commit sha fc3e568ca277d3949f06ef54459d6b8d10f4f7e7

rustup: use nightly-2020-03-14-i686-gnu

view details

push time in a day

push eventtmiasko/compiler-builtins

Tomasz Miąsko

commit sha 0c782c464952fc6a548ab60756b4a972a138457a

rustup: update regardless of missing components

view details

push time in a day

PR opened rust-lang/compiler-builtins

Place __muloti4 in a separate object file

libc++ defines __muloti4 builtin llvm.org/PR30643. When referenced and linked before compiler builtins, it will likely lead to a link failure, since all Rust implemented builtins are currently placed in a single object file.

Workaround the issue by using a C implementation when enabled.

+2 -0

0 comment

2 changed files

pr created time in a day

create barnchtmiasko/compiler-builtins

branch : c++

created branch time in a day

delete branch tmiasko/rust-clippy

delete branch : trait-ptr-cmp

delete time in a day

push eventtmiasko/rust-clippy

Tomasz Miąsko

commit sha b77b219280eb8e511f3ed28bf894ab09fdde1e03

Lint unnamed address comparisons

view details

push time in a day

pull request commentrust-lang/rust-clippy

Lint unnamed address comparisons

The issues generally arise from incorrect expectation that those addresses are unique, so "non-unique" might be another option.

tmiasko

comment created time in a day

push eventtmiasko/rust-clippy

bors

commit sha 204bb9b54b17cef5e5bfba4c4904ab745e6359ba

Auto merge of #5314 - ehuss:remove-git2, r=flip1995 Remove git2 dependency. This removes the `git2` dependency (used in the integration test). Updating git2 is awkward because both cargo and clippy have to be updated in sync, so this removes that requirement. It didn't look like it was using the git2 library for any particular reason, so this just launches the `git` executable, which should be available more or less everywhere. This unblocks updating Cargo. changelog: none

view details

flip1995

commit sha ba7a1a4cbf4c8f8d0ac9830d22fbdcf558e460ba

Merge remote-tracking branch 'upstream/rust-1.43.0' into backport_remerge

view details

Philipp Hansch

commit sha cec1e8f74e10ac7a0cf6f1bc30ed419691f161d0

Remove dependency on `matches` crate The std equivalent works exactly the same.

view details

bors

commit sha 513b46793e98ce5b412d388a91f6371d6a9b290b

Auto merge of #5370 - phansch:matches, r=matthiaskrgr Remove dependency on `matches` crate The std equivalent works exactly the same. changelog: none

view details

Matthias Krüger

commit sha b0de238b6522ce85ba26b8694d732e3f4520a78b

readme: explain how to run only a single lint on a codebase

view details

bors

commit sha d3e21fe690640430fc6e2da8d1c0fae9c3f2bea7

Auto merge of #5371 - matthiaskrgr:rdm, r=phansch readme: explain how to run only a single lint on a codebase changelog: none

view details

Matthias Krüger

commit sha b86e8434df5688d68d84434f25e7dacbe8a9247b

move redundant_pub_crate to nursery cc #5369

view details

bors

commit sha 5de8c101e50749aea4ebee4a7c8c6beb007d0be4

Auto merge of #5372 - matthiaskrgr:rpc_nursery, r=flip1995 move redundant_pub_crate to nursery cc #5369 changelog: none

view details

bors

commit sha 2ff568d746e4641b992c0b74bea046e43a637997

Auto merge of #5334 - flip1995:backport_remerge, r=flip1995 Backport remerge blocked on landing the backport cc @ehuss changelog: none

view details

flip1995

commit sha 7a40b5c132abb50801e4f91bd67d05aba1435d54

Move verbose_file_reads to restriction

view details

Matthias Krüger

commit sha 8177e49e100fc3934e2df877e469f08961604ddc

rustup https://github.com/rust-lang/rust/pull/70344

view details

Matthias Krüger

commit sha 6b1bad54ef0dc39f04074b39e9b484b0c8d88ee9

rustup https://github.com/rust-lang/rust/pull/69644

view details

Matthias Krüger

commit sha 48da6e926c0227634ecb0de038191b5dd4dc7ace

rustup https://github.com/rust-lang/rust/pull/68404

view details

Matthias Krüger

commit sha 0982097e4d9b8a69e5f1d82bffc1f74098cd2e3b

remove redundant import

view details

bors

commit sha 64befe59cc814ddb89b73f810febed0fc8425cf5

Auto merge of #5377 - matthiaskrgr:rustup_38, r=flip1995 rustup changelog: none

view details

bors

commit sha 70b93aab6ec576c3665f38fd485bb5e0154a88f7

Auto merge of #5376 - flip1995:verbose_file_reads_restriction, r=matthiaskrgr Move verbose_file_reads to restriction cc #5368 Using `File::read` instead of `fs::read_to_end` does make sense in multiple cases, so this lint is rather restriction, than complexity changelog: Move [`verbose_file_reads`] to restriction

view details

Lzu Tao

commit sha 53880a5bd656a79e885d9edcbcce99dce00a9520

Bump itertools

view details

Lzu Tao

commit sha d055b7d61c44b7a401ebc470e3d1e3bd06a4d360

Deprecate REPLACE_CONSTS lint

view details

bors

commit sha ec5e9c7bbd0cd16c5ac3581f38d40dee1c3dff05

Auto merge of #5381 - lzutao:itertools, r=matthiaskrgr Bump itertools changelog: none

view details

Rich Kadel

commit sha b4736b4d35313060a956470dd1e970376f9a0a1a

git attribute macros not allowed in submodules This change simply moves the `rust` macro definition directly into the attributes for `*.rs` files. git commands that recurse from the rust toplevel tree into submodules produce errors in clippy due to the fact that: "Custom macro attributes can be defined only in top-level gitattributes files" For example, from the toplevel `rust` directory in a rustc development build, try: $ git grep "search string" --recurse-submodules Embedded within the actual results is the error message: [attr]rust text eol=lf whitespace=tab-in-indent,trailing-space,tabwidth=4 not allowed: src/tools/clippy/.gitattributes:1

view details

push time in a day

Pull request review commentrust-lang/rust

Document ThreadSanitizer in unstable-book

 Shadow byte legend (one shadow byte represents 8 application bytes):   Left alloca redzone:     ca   Right alloca redzone:    cb   Shadow gap:              cc-==424427==ABORTING+==39249==ABORTING ``` -## MemorySanitizer+# MemorySanitizer++MemorySanitizer is detector of uninitialized reads. It is supported only on+`x86_64-unknown-linux-gnu` target.++MemorySanitizer requires all program code to be instrumented. Failing to achieve+that will result in false positive reports.

Yes, expanded on this a bit to give more context to the example that follows.

In general this is a major challenge when using MemorySanitizer in larger code bases. For those written mostly in Rust and using Cargo, it works surprisingly well.

tmiasko

comment created time in a day

push eventtmiasko/rust

Tomasz Miąsko

commit sha 6582299cdd632b78f76d578ce6e751f0eac3a17a

Document ThreadSanitizer in unstable-book

view details

push time in a day

push eventtmiasko/rust

Lukas Lueg

commit sha becebf3106407b892f25807473e23d6e8f116a1e

Ammend Rc/Arc::from_raw() docs regarding unsafety Constructing an Rc/Arc is unsafe even if the wrapped `T` is never dereferenced.

view details

Lukas Lueg

commit sha b4c96a9199f13c5c1c2afa6258d2b9206c151d9f

Refine [Arc/Rc]::from_raw() docs

view details

Waffle

commit sha a8340413fe8aa29864ce05875cc63f29af305e31

Remove `finished` flag from `MapWhile`

view details

Lukas Lueg

commit sha 586c7e3907738938db7a6730fd70d7125f5925fa

Make rc::RcBox and sync::ArcInner repr(C) Future-proof these types in case rustc reorders the inner fields. As per discussion in PR #68099.

view details

Waffle

commit sha 605bc1b19b45534b0860fad4b1d44678bc8b34e9

adjuste doc of `map_while` Fix doc of `Iterator::map_while` so it would be clearer that it isn't fused.

view details

Guillaume Gomez

commit sha c57de34e8feca218c0c696b621de87c078a2a0e0

Stabilize --crate-version option in rustdoc

view details

Markus Westerlind

commit sha c6f1215d925561021eec296d9e88aa0305d0a18d

perf(dep_graph): Avoid allocating a set on when the number reads are small `reserve_and_rehash` takes up 1.4% of the runtime on the `packed-simd` benchmark which I believe is due to the number of reads are very low in many cases (see https://github.com/rust-lang/rust/pull/50565 for instance). This avoids allocating the set until we start allocating the `reads` `SmallVec` but it is possible that a lower limit might be better (not tested since the improvement will be hard to spot either way).

view details

Arkadiusz Piekarz

commit sha b90edfcc9e1c4ff547b012c41ba2d55974794a7e

Fix sequence of Type and Trait in optin-builtin-traits in Unstable Book

view details

Markus Westerlind

commit sha 4168c25b0f8aadcfe38c8bdae7cc51c22c2f45d1

refactor: Add an alias for the SmallVec in dep_graph

view details

Matt Cooper

commit sha ec7010a1a8ae59a7538e649218665497306eb8b1

establish immutable source for RUST_CONFIGURE_ARGS

view details

Matt Cooper

commit sha a942b3946521db46ba653693f5d6e477e39bbb3b

fix how we detect an unset variable

view details

Joshua Nelson

commit sha 62722735fb62c2f93656a012c29310155de35467

impl From<[T; N]> for Vec<T>

view details

Joshua Nelson

commit sha daeb8ece8c930174baa874aa3f2f278fbec9637d

fix error compiling stage2 Co-Authored-By: lzutao <taolzu@gmail.com>

view details

Joshua Nelson

commit sha f267d9dc191debfef74cc211dbca3d286b51f761

limit From impl to LengthAtMost32 Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>

view details

Joshua Nelson

commit sha e3d5eaf2bba89db8359393ac7656db19cb421fb5

add ui-tests

view details

Joshua Nelson

commit sha ba46b61bbcd0d2860105c429cf73254c388e9118

bless UI tests

view details

Joshua Nelson

commit sha 96794d86f127dd409760765a64a36c07d9ed585f

fix test failure

view details

Joshua Nelson

commit sha 1ac4a461425b7a2e29aeb3c2b2cae944f8cbcc77

make the impl a little prettier

view details

Joshua Nelson

commit sha 8212584c9ecdbd91736fc7a480fe3b7409b73477

Bump release cutoff

view details

Joshua Nelson

commit sha 3477e67a92878adae48b975915cb7a5c21026cd4

Allow vec.rs to be over 3000 lines :(

view details

push time in a day

delete branch tmiasko/rust

delete branch : backtrace

delete time in 7 days

push eventtmiasko/rust

Lukas Lueg

commit sha becebf3106407b892f25807473e23d6e8f116a1e

Ammend Rc/Arc::from_raw() docs regarding unsafety Constructing an Rc/Arc is unsafe even if the wrapped `T` is never dereferenced.

view details

Lukas Lueg

commit sha b4c96a9199f13c5c1c2afa6258d2b9206c151d9f

Refine [Arc/Rc]::from_raw() docs

view details

Waffle

commit sha a8340413fe8aa29864ce05875cc63f29af305e31

Remove `finished` flag from `MapWhile`

view details

Lukas Lueg

commit sha 586c7e3907738938db7a6730fd70d7125f5925fa

Make rc::RcBox and sync::ArcInner repr(C) Future-proof these types in case rustc reorders the inner fields. As per discussion in PR #68099.

view details

Waffle

commit sha 605bc1b19b45534b0860fad4b1d44678bc8b34e9

adjuste doc of `map_while` Fix doc of `Iterator::map_while` so it would be clearer that it isn't fused.

view details

Guillaume Gomez

commit sha c57de34e8feca218c0c696b621de87c078a2a0e0

Stabilize --crate-version option in rustdoc

view details

Ralf Jung

commit sha 22ee27b266814485fe9ab7da4b539348cb994045

update backtrace crate

view details

Markus Westerlind

commit sha c6f1215d925561021eec296d9e88aa0305d0a18d

perf(dep_graph): Avoid allocating a set on when the number reads are small `reserve_and_rehash` takes up 1.4% of the runtime on the `packed-simd` benchmark which I believe is due to the number of reads are very low in many cases (see https://github.com/rust-lang/rust/pull/50565 for instance). This avoids allocating the set until we start allocating the `reads` `SmallVec` but it is possible that a lower limit might be better (not tested since the improvement will be hard to spot either way).

view details

Arkadiusz Piekarz

commit sha b90edfcc9e1c4ff547b012c41ba2d55974794a7e

Fix sequence of Type and Trait in optin-builtin-traits in Unstable Book

view details

Markus Westerlind

commit sha 4168c25b0f8aadcfe38c8bdae7cc51c22c2f45d1

refactor: Add an alias for the SmallVec in dep_graph

view details

Matt Cooper

commit sha ec7010a1a8ae59a7538e649218665497306eb8b1

establish immutable source for RUST_CONFIGURE_ARGS

view details

Matt Cooper

commit sha a942b3946521db46ba653693f5d6e477e39bbb3b

fix how we detect an unset variable

view details

Ralf Jung

commit sha 9552d2e4ab84611e4dd354631cceb9555c956c08

bump backtrace-sys

view details

Andreas Jonson

commit sha afa940b900c2003228ea7f5d9f8d78906d84c135

Update the mir inline costs handle that when mir is lowered to llvm-ir more code is generated. landingpads generates 10 llvm-ir instructions and resume 9 llvm-ir instructions.

view details

Tomasz Miąsko

commit sha 24dc2cb133d5b1cdd0680b91e4295039d704a610

librustc_codegen_llvm: Replace deprecated API usage

view details

Matt Cooper

commit sha 330233470e74f76731cc6f702302e9978d363285

fix a glaring typo

view details

Camille GILLOT

commit sha 0bf5cae489e828a6678cab5144e638ae909d7b93

Remove __query_compute module.

view details

Camille GILLOT

commit sha fc82376bc437d4494832b171d924e2f116174578

Make QueryAccessor::dep_kind an associated const.

view details

Camille GILLOT

commit sha cf238fd057651371731fde47a2ebf251bf37cfb5

Inline QueryAccessor::query.

view details

Camille GILLOT

commit sha 1249032aabe3a0a80c0a852ef803702d7fb70d21

Move impl of Queries with its definition.

view details

push time in 7 days

pull request commentrust-lang/rust

Update backtrace crate to 0.3.46

https://github.com/rust-lang/backtrace-rs/compare/backtrace-sys-0.1.34...0.3.46

tmiasko

comment created time in 7 days

PR opened rust-lang/rust

Update backtrace crate to 0.3.46
+5 -5

0 comment

2 changed files

pr created time in 7 days

create barnchtmiasko/rust

branch : backtrace

created branch time in 7 days

issue commentrust-lang/rust

Rust "forgets" intel attribute on assembly code sometimes

https://bugs.llvm.org/show_bug.cgi?id=45291

dbartussek

comment created time in 8 days

issue commentrust-lang/rust

Rust "forgets" intel attribute on assembly code sometimes

ValueMapper used during ThinLTO import does not preserve assembly dialect when remapping types (the last argument of InlineAsm::get, which is not provided here, defaults to AD_ATT) https://github.com/rust-lang/llvm-project/blob/9f65ad057357b307180955831968f79e74090a90/llvm/lib/Transforms/Utils/ValueMapper.cpp#L371-L372

Using -Clto=off should avoid the issue.

dbartussek

comment created time in 8 days

push eventtmiasko/rust-clippy

Tomasz Miąsko

commit sha 4c8b9c448a99b4fa361d5358c9ec6d409bb83bcd

Lint unnamed address comparisons

view details

push time in 8 days

push eventtmiasko/rust-clippy

Tim Robinson

commit sha 52208f3cf3949a4589cbaee69a9cb7d34ee0e9f2

Lint for `pub(crate)` items that are not crate visible due to the visibility of the module that contains them Closes #5274.

view details

Tim Robinson

commit sha de9092438df744895cfc2a2a35fcc577b657cd13

Update for PR feedback

view details

ThibsG

commit sha badfbbbbde9b95c3c87c75d3c15fee1fd500befd

Fix single binding in closure

view details

flip1995

commit sha a1dc609f2182be97caf23fc22ab02d962033c8e9

Fix documentation generation for configurable lints

view details

bors

commit sha 89303daf6c578f8a5208fc39755846740bf5bf28

Auto merge of #5353 - flip1995:conf_doc, r=Manishearth Fix documentation generation for configurable lints In #5135, the configuration macro changed, but the documentation generation script wasn't updated. This PR catches up on this. [Preview](https://flip1995.github.io/rust-clippy/master/index.html) r? @Manishearth changelog: Document configuration options of lints again.

view details

Matthias Krüger

commit sha 0f319513d25de94a5bf3edfab9fbff14e296eafb

rustup https://github.com/rust-lang/rust/pull/69968/

view details

bors

commit sha 43bdee034f15cce9de7f07ca48ad884e524840da

Auto merge of #5361 - matthiaskrgr:rustup_37, r=flip1995 rustup https://github.com/rust-lang/rust/pull/69968/ changelog: none

view details

bors

commit sha 1ff81c1b6d7abdcc9ee47f4a8ab175082cad4421

Auto merge of #5350 - ThibsG:FixSingleBindingClosure, r=flip1995 Fix single binding closure Fix the `match_single_binding` lint when triggered inside a closure. Fixes: #5347 changelog: Improve suggestion for [`match_single_binding`]

view details

Tim Robinson

commit sha 870b9e8139052f7cb1ef1e5717f2f4ce523fb688

nursery group -> style

view details

flip1995

commit sha 13fcee51e7bcaff23694d845146c6ede2e7834c2

Move useless_transmute to nursery

view details

bors

commit sha d3989eef2d65301ab7643a1526013fedbeb27f19

Auto merge of #5319 - 1tgr:master, r=flip1995 Lint for `pub(crate)` items that are not crate visible due to the visibility of the module that contains them changelog: Add `redundant_pub_crate` lint Closes #5274.

view details

bors

commit sha 100a24d9d823e01483b3c2215dff71cadbf0ae50

Auto merge of #5364 - flip1995:useless_transmute_quarantine, r=Manishearth Move useless_transmute to nursery cc #5343 @rust-lang/clippy anyone against moving this to nursery? changelog: Move [`useless_transmute`] to nursery

view details

Tomasz Miąsko

commit sha ceeb62cae714dcb9a8241a9668a2f989759be4bb

Lint unnamed address comparisons

view details

push time in 8 days

push eventtmiasko/rust-clippy

Chris Simpkins

commit sha d8167128fca35ce1ae645ef9a26fb3cece937c74

transition rustc-guide to rustc-dev-guide

view details

Jacob Meyers

commit sha 0f7f30711e4eb2f5f84fe198f325e512e404ee0c

add lint on File::read_to_string and File::read_to_end

view details

Chris Simpkins

commit sha 58dec1ca9c98cfb46d6152fe222cd37d635b143e

update rust-lang.github.io to rustc-dev-guide.rust-lang.org

view details

bors

commit sha c3d3c50253b0b6e91dccfa0f512bb5206eb3c94f

Auto merge of #5277 - chrissimpkins:rustc-dev-guide-transition, r=flip1995 Update rustc-guide to rustc-dev-guide The rustc-guide is being renamed to the rustc-dev-guide. The discussion is in rust-lang/rustc-guide#470. This PR revises rustc-guide to rustc-dev-guide in the Readme Markdown file. Transition tracker: rust-lang/rustc-guide#602 changelog: none

view details

Matthias Krüger

commit sha 5fd74a9a6a08d6e5ee116ed032d8e90cb1fd2b8f

clippy_lints: readme: don't mention crates.io since it is no longer used to publish clippy.

view details

bors

commit sha 187bbf0e7bbc1c7da5902cd1a89f286aa063c5ff

Auto merge of #5295 - matthiaskrgr:lints_readme, r=flip1995 clippy_lints: readme: don't mention crates.io since it is no longer used to publish clippy changelog: none

view details

Shotaro Yamada

commit sha a3d9355bef01aaefb9b6f3fb53b88cd4ce156453

Fix ICE with trivial_bounds feature

view details

Shotaro Yamada

commit sha 227ef60a2b2fd3d78eb39d4361efc224be38cbb6

Fix doc

view details

Yuki Okushi

commit sha 8d2a3e0a61dbcf2ec6ce5a693c68e3da587991b9

Use `node_type_opt` over `node_type`

view details

bors

commit sha 3aa8da3e072651d9c68a579dcf598609983d2234

Auto merge of #5297 - JohnTitor:shadow, r=phansch Use `node_type_opt` over `node_type` Fix ICE reported in rust-lang/rust#69873. changelog: Fix ICE in checking bindings

view details

bors

commit sha 557f6848bd5b7183f55c1e1522a326e9e1df6030

Auto merge of #5296 - sinkuu:fix_ice_trivial_bounds, r=flip1995 Fix ICE with trivial_bounds feature https://github.com/rust-lang/rust/issues/69874#issuecomment-596890446 changelog: Fix ICE with trivial_bounds feature

view details

Andre Bogus

commit sha 2fa3da486924b9c8807308fa00b7be6ae1adc167

needless_doc_main: only check rust code

view details

Yuki Okushi

commit sha 8cdd75ca2965a5618c763eb751cf2dec5b4a66c2

Clean-up CONTRIBUTING.md

view details

Yuki Okushi

commit sha 459fb53f8d3f3d4a5c6145b9940a04979ee83e71

Clean-up adding_lints.md

view details

Yuki Okushi

commit sha 19e72a24ae43084d8bb2b14ad3ff88391e1148d9

Move links to the end of each chapter on CONTRIBUTING

view details

Yuki Okushi

commit sha 0de71b0e3acaed1042fb173262916644111463c5

Move links to the end of each chapter on adding_lints

view details

bors

commit sha 16b925b7486d166ceb10d68864b0bd1e1a576296

Auto merge of #5299 - JohnTitor:contrib, r=flip1995 Clean-up docs Fixes #5268 changelog: none

view details

Manish Goregaokar

commit sha d5c8b783b8ceb0f739e307670a4f3a92ba8fdfcc

Update tests/ui/needless_doc_main.rs Co-Authored-By: Philipp Krones <hello@philkrones.com>

view details

bors

commit sha 23bd427f925e44a9244a40187659ca2a2eb0a6ee

Auto merge of #5298 - rust-lang:needless_doc_main_code, r=flip1995,Manishearth needless_doc_main: only check rust code This fixes #5280 by checking the language attribute on code blocks. --- changelog: none

view details

Yuki Okushi

commit sha 515847dad187c62701d77a9c368abe2d20e1d696

Use `edition:2018` flag more widely

view details

push time in 8 days

delete branch tmiasko/rust

delete branch : llvm-api

delete time in 9 days

PR opened rust-lang/rust

Document ThreadSanitizer in unstable-book
+149 -86

0 comment

1 changed file

pr created time in 10 days

push eventtmiasko/rust

Tomasz Miąsko

commit sha 0c118ae9dba60d312c5e8ea3dbdac228add6ea77

Document ThreadSanitizer in unstable-book

view details

push time in 10 days

create barnchtmiasko/rust

branch : sanitizer-docs

created branch time in 10 days

delete branch tmiasko/rust

delete branch : cstr

delete time in 11 days

push eventtmiasko/rust

Vadim Petrochenkov

commit sha 487c378fc670e1305454b83f7bf33164c9ec379b

rustc_metadata: Load metadata for indirect macro-only dependencies

view details

Yuki Okushi

commit sha a211a82b3c7e450edd99ff6d3cf77a0cedae0d2e

Address review comment

view details

Yuki Okushi

commit sha 5307edce6faa5c675dc57a1dd3b4fdcbf1ebdc7d

Tweak tests

view details

Nicholas Nethercote

commit sha 54d1c50c7e7b4c4c7dca6c85c6965c886922b449

Remove `sip::Hasher::short_write`. `sip::Hasher::short_write` is currently unused. It is called by `sip::Hasher::write_{u8,usize}`, but those methods are also unused, because `DefaultHasher`, `SipHasher` and `SipHasher13` don't implement any of the `write_xyz` methods, so all their write operations end up calling `sip::Hasher::write`. (I confirmed this by inserting a `panic!` in `sip::Hasher::short_write` and running the tests -- they all passed.) The alternative would be to add all the missing `write_xyz` methods. This does give some significant speed-ups, but it hurts compile times a little in some cases. See #69152 for details. This commit does the conservative thing and doesn't change existing behaviour.

view details

Ralf Jung

commit sha dc92ad4d5bd06f7c62a924090001d1620fc74f3e

adjust LayoutDetails comments

view details

Trevor Spiteri

commit sha 87f0dc63a864c6d9a3c34aa4052762dbcd316c91

use unions instead of transmute and add const safety comments

view details

Ralf Jung

commit sha 12054dce9ac82ec63aedb91082e3ea9cdc8c2e5c

miri: validity visitor comments and path printing improvements

view details

Tomasz Miąsko

commit sha e1a54725081227a3866669c167bee4c0559f5362

Emit 1-based column numbers in debuginfo The debuginfo column numbers are 1-based. The value 0 indicates that no column has been specified. Translate 0-based column numbers to 1-based when emitting debug information.

view details

Tomasz Miąsko

commit sha 0c51f2f5a580a7e239accd0cc5f3da2e8cdf6f8c

Use byte offsets when emitting debuginfo columns

view details

Tomasz Miąsko

commit sha 8e93a01824a2239f1c588c7c0b884c8a2662e929

Test that column information is not emitted for MSVC targets

view details

Guillaume Gomez

commit sha 1244ced9580b942926afc06815e0691cf3f4a846

Remove "important traits" feature

view details

Guillaume Gomez

commit sha 13c6d5819aae3c0de6a90e7f17ea967bf4487cbb

Remove spotlight usage

view details

Albin Stjerna

commit sha 6f40cdb3807b25c92d32c5f7c3180958bb62f3c8

- polonius: adapt to the new fact format - update polonius-engine dependency to 0.12.0 - rustfmt the files failing tidy

view details

Ralf Jung

commit sha f9644c16f3156025d83d3dc1262ac35d9ae89588

add comment to check_data

view details

Ralf Jung

commit sha e9ab099d6f30328b03ec2d5515bd11e4852d1eca

get rid of to_ptr

view details

Ralf Jung

commit sha 1fec68277a16e39389085fba462a05cd71797423

remove check_raw after reducing it to one use only

view details

Remy Rakic

commit sha 1b0bb35ca3cd8e80c9255eefb1e35381ec9aa73a

Unrevert "Remove `checked_add` in `Layout::repeat`"

view details

Ralf Jung

commit sha 63c77f1bd0beee9c3ee75cc41c507e31d3a72a5d

remove ScalarMaybeUndef::to_bits and make Scalar::to_bits private

view details

Ralf Jung

commit sha 0e157380ae2a7af0c457aea1c8be22161899ea1d

move ZST assertion up, for better errors

view details

Ralf Jung

commit sha 6f568e72f336cd64fecb240c6aafbe4bf7ed4379

miri engine: turn some debug_assert into assert

view details

push time in 11 days

delete branch tmiasko/rust

delete branch : di-cstr

delete time in 11 days

delete branch tmiasko/rust

delete branch : sanitizer-signals

delete time in 11 days

delete branch tmiasko/rust

delete branch : arc

delete time in 11 days

pull request commentrust-lang/rust

Make std::sync::Arc compatible with ThreadSanitizer

Note that the synchronization used here is not really stronger, so there is no risk of that kind, except in trivially true sense that with ThreadSanitizer you are de-facto executing completely difference machine code, with additional calls to the runtime for each atomic operation etc.

Furthermore if you are actually trying to debug issues in Arc / Weak, ThreadSanitizer was of no use so far. On the other hand with changes proposed here it is able to detect previous bugs when reintroduced.

tmiasko

comment created time in 12 days

Pull request review commentrust-lang/rust

Make std::sync::Arc compatible with ThreadSanitizer

 mod tests; /// necessarily) at _exactly_ `MAX_REFCOUNT + 1` references. const MAX_REFCOUNT: usize = (isize::MAX) as usize; +#[cfg(not(sanitize = "thread"))]+macro_rules! acquire {+    ($x:expr) => {+        atomic::fence(Acquire)+    };+}++#[cfg(sanitize = "thread")]+macro_rules! acquire {+    ($x:expr) => {+        $x.load(Acquire)+    };+}

Now with a comment.

tmiasko

comment created time in 12 days

push eventtmiasko/rust

Tomasz Miąsko

commit sha fd0e15bbcda4b1674f22e8db5fd81a63d671c996

Make std::sync::Arc compatible with ThreadSanitizer The memory fences used previously in Arc implementation are not properly understood by ThreadSanitizer as synchronization primitives. This had unfortunate effect where running any non-trivial program compiled with `-Z sanitizer=thread` would result in numerous false positives. Replace acquire fences with acquire loads when using ThreadSanitizer to address the issue.

view details

push time in 12 days

pull request commentrust-lang/rust

Make std::sync::Arc compatible with ThreadSanitizer

ThreadSanitizer works by compile time instrumentation of atomic operations, memory loads, and memory stores so recompilation is necessary regardless. Nowadays I would expect it to be used through cargo -Zbuild-std which makes the process straightforward

tmiasko

comment created time in 12 days

push eventtmiasko/rust

Tomasz Miąsko

commit sha bc5d65c66abe776fa084ef63f41fbc05994c5f1c

Make std::sync::Arc compatible with ThreadSanitizer The memory fences used previously in Arc implementation are not properly understood by ThreadSanitizer as synchronization primitives. This had unfortunate effect where running any non-trivial program compiled with `-Z sanitizer=thread` would result in numerous false positives. Replace acquire fences with acquire loads when using ThreadSanitizer to address the issue.

view details

push time in 12 days

pull request commentrust-lang/rust

Make std::sync::Arc compatible with ThreadSanitizer

@Amanieu using AcqRel on x86 would be fine, but if we are going in the direction of conditional compilation what would you say about proposal from comment https://github.com/rust-lang/rust/pull/65097#issuecomment-574286268 (I pushed a commit that implements it)?. It affects only those who actually use ThreadSanitizer and will work on other architectures once enabled in rustc.

tmiasko

comment created time in 12 days

push eventtmiasko/rust

Dylan DPC

commit sha 4c9e44fc5f2958706fb747d7ccf4d49f1f384545

Rollup merge of #69527 - pnkfelix:issue-69291-dont-run-rustfmt-on-untracked-paths, r=Mark-Simulacrum Ignore untracked paths when running `rustfmt` on repository. This is a step towards resolving #69291 (It might be the only step necessary at the moment; I'm not yet sure.)

view details

Dylan DPC

commit sha 02b96b3ecc48dc5245e425fc248163cfaae9643e

Rollup merge of #69529 - matthiaskrgr:clippy_identity_conversion, r=Mark-Simulacrum don't use .into() to convert types into identical types. This removes redundant `.into()` calls. example: `let s: String = format!("hello").into();`

view details

bors

commit sha 7497d93ef17d2b87fa8efb5c5de33f0bdc4155af

Auto merge of #69534 - Dylan-DPC:rollup-fwa2lip, r=Dylan-DPC Rollup of 9 pull requests Successful merges: - #69379 (Fail on multiple declarations of `main`.) - #69430 (librustc_typeck: remove loop that never actually loops) - #69449 (Do not ping PR reviewers in toolstate breakage) - #69491 (rustc_span: Add `Symbol::to_ident_string` for use in diagnostic messages) - #69495 (don't take redundant references to operands) - #69496 (use find(x) instead of filter(x).next()) - #69501 (note that find(f) is equivalent to filter(f).next() in the docs.) - #69527 (Ignore untracked paths when running `rustfmt` on repository.) - #69529 (don't use .into() to convert types into identical types.) Failed merges: r? @ghost

view details

Yuki Okushi

commit sha 4e0bea326e7f3f26ddae920e599597b309530e00

Stabilize `boxed_slice_try_from`

view details

bors

commit sha bfc32dd106f0fe191b8bcd9b76348a8875c30a60

Auto merge of #68505 - skinny121:canonicalize-const-eval-inputs, r=nikomatsakis Canonicalize inputs to const eval where needed Canonicalize inputs to const eval, so that they can contain inference variables. Which enables invoking const eval queries even if the current param env has inference variable within it, which can occur during trait selection. This is a reattempt of #67717, in a far less invasive way. Fixes #68477 r? @nikomatsakis cc @eddyb

view details

Mazdak Farrokhzad

commit sha 85b585daaf735deda96c6e087e2a3f203c64d52d

late resolve, visit_fn: bail early if there's no body.

view details

Ralf Jung

commit sha f9644c16f3156025d83d3dc1262ac35d9ae89588

add comment to check_data

view details

Ralf Jung

commit sha e9ab099d6f30328b03ec2d5515bd11e4852d1eca

get rid of to_ptr

view details

Ralf Jung

commit sha 1fec68277a16e39389085fba462a05cd71797423

remove check_raw after reducing it to one use only

view details

bors

commit sha e2223c94bf433fc38234d1303e88cbaf14755863

Auto merge of #68827 - ssomers:btree_navigation_revisited, r=Mark-Simulacrum BTreeMap navigation done safer & faster It turns out that there was a faster way to do the tree navigation code bundled in #67073, by moving from edge to KV and from KV to next edge separately. It extracts most of the code as safe functions, and contains the duplication of handles within the short wrapper functions. This somehow hits a sweet spot in the compiler because it reports boosts all over the board: ``` >cargo benchcmp pre3.txt posz4.txt --threshold 5 name pre3.txt ns/iter posz4.txt ns/iter diff ns/iter diff % speedup btree::map::first_and_last_0 40 37 -3 -7.50% x 1.08 btree::map::first_and_last_100 58 44 -14 -24.14% x 1.32 btree::map::iter_1000 8,920 3,419 -5,501 -61.67% x 2.61 btree::map::iter_100000 1,069,290 411,615 -657,675 -61.51% x 2.60 btree::map::iter_20 169 58 -111 -65.68% x 2.91 btree::map::iter_mut_1000 8,701 3,303 -5,398 -62.04% x 2.63 btree::map::iter_mut_100000 1,034,560 405,975 -628,585 -60.76% x 2.55 btree::map::iter_mut_20 165 58 -107 -64.85% x 2.84 btree::set::clone_100 1,831 1,562 -269 -14.69% x 1.17 btree::set::clone_100_and_clear 1,831 1,565 -266 -14.53% x 1.17 btree::set::clone_100_and_into_iter 1,917 1,541 -376 -19.61% x 1.24 btree::set::clone_100_and_pop_all 2,609 2,441 -168 -6.44% x 1.07 btree::set::clone_100_and_remove_all 4,598 3,927 -671 -14.59% x 1.17 btree::set::clone_100_and_remove_half 2,765 2,551 -214 -7.74% x 1.08 btree::set::clone_10k 191,610 164,616 -26,994 -14.09% x 1.16 btree::set::clone_10k_and_clear 192,003 164,616 -27,387 -14.26% x 1.17 btree::set::clone_10k_and_into_iter 200,037 163,010 -37,027 -18.51% x 1.23 btree::set::clone_10k_and_pop_all 267,023 250,913 -16,110 -6.03% x 1.06 btree::set::clone_10k_and_remove_all 536,230 464,100 -72,130 -13.45% x 1.16 btree::set::clone_10k_and_remove_half 453,350 430,545 -22,805 -5.03% x 1.05 btree::set::difference_random_100_vs_100 1,787 801 -986 -55.18% x 2.23 btree::set::difference_random_100_vs_10k 2,978 2,696 -282 -9.47% x 1.10 btree::set::difference_random_10k_vs_100 111,075 54,734 -56,341 -50.72% x 2.03 btree::set::difference_random_10k_vs_10k 246,380 175,980 -70,400 -28.57% x 1.40 btree::set::difference_staggered_100_vs_100 1,789 951 -838 -46.84% x 1.88 btree::set::difference_staggered_100_vs_10k 2,798 2,606 -192 -6.86% x 1.07 btree::set::difference_staggered_10k_vs_10k 176,452 97,401 -79,051 -44.80% x 1.81 btree::set::intersection_100_neg_vs_10k_pos 34 32 -2 -5.88% x 1.06 btree::set::intersection_100_pos_vs_100_neg 30 27 -3 -10.00% x 1.11 btree::set::intersection_random_100_vs_100 1,537 613 -924 -60.12% x 2.51 btree::set::intersection_random_100_vs_10k 2,793 2,649 -144 -5.16% x 1.05 btree::set::intersection_random_10k_vs_10k 222,127 147,166 -74,961 -33.75% x 1.51 btree::set::intersection_staggered_100_vs_100 1,447 622 -825 -57.01% x 2.33 btree::set::intersection_staggered_100_vs_10k 2,606 2,382 -224 -8.60% x 1.09 btree::set::intersection_staggered_10k_vs_10k 143,620 58,790 -84,830 -59.07% x 2.44 btree::set::is_subset_100_vs_100 1,349 488 -861 -63.83% x 2.76 btree::set::is_subset_100_vs_10k 1,720 1,428 -292 -16.98% x 1.20 btree::set::is_subset_10k_vs_10k 135,984 48,527 -87,457 -64.31% x 2.80 ``` The `first_and_last` ones are noise (they don't do iteration), the others seem genuine. As always, approved by Miri. Also, a separate commit with some more benchmarks of mutable behaviour (which also benefit). r? @cuviper

view details

Pulkit Goyal

commit sha 299a0d559f574f1ca1092a3783f00adba68be290

docs: add mention of async blocks in move keyword docs Fixes #69298

view details

Remy Rakic

commit sha 1b0bb35ca3cd8e80c9255eefb1e35381ec9aa73a

Unrevert "Remove `checked_add` in `Layout::repeat`"

view details

Matthias Krüger

commit sha 0c5d497603129d3bf25e83e3e387bb39202b34ef

use to_vec() instead of .iter().cloned().collect() to convert slices to vecs.

view details

Matthias Krüger

commit sha ff9341a9e3c23494cbd51fabafd1275097d41203

remove redundant clones, references to operands, explicit boolean comparisons and filter(x).next() calls.

view details

Mateusz Mikuła

commit sha 3713ed67fd46b113948ed98170325a7225bdf331

Improve MinGW detection when cross compiling

view details

Matthias Krüger

commit sha 9523c89f18ca62c992e580fc33fe1bf092696d8d

use is_empty() instead of len() == x to determine if structs are empty.

view details

bors

commit sha eaa02f599f651246d5d1b99e7a4c6fa8d04bc9dc

Auto merge of #69148 - estebank:cold-as-ice, r=oli-obk Account for bounds and asociated items when denying `_` Fix #68801, #69204. Follow up to #67597 and #68071. Output for the original ICE report: ``` Checking vinoteca v5.0.0 (/Users/ekuber/workspace/vinoteca) error[E0121]: the type placeholder `_` is not allowed within types on item signatures --> src/producers.rs:43:70 | 43 | pub fn top<Table: diesel::Table + diesel::query_dsl::InternalJoinDsl<_, diesel::query_source::joins::Inner, _>>(table: Table, limit: usize, connection: DbConn) -> RestResult<Vec<TopWineType>> { | ^ not allowed in type signatures ^ not allowed in type signatures error: aborting due to previous error ```

view details

Guillaume Gomez

commit sha bae5f3976b21f33d9d15ed7da04d3fb9b1878bdc

Add E0747 error code

view details

Guillaume Gomez

commit sha f439de36afa8e70d99557a0563341a9211a14096

Add explanation for E0747

view details

Guillaume Gomez

commit sha 8ce9460b7a132fa4075325d2ae4c4b4ecd09ffd0

Update UI tests

view details

push time in 12 days

push eventtmiasko/rust

Tim Vermeulen

commit sha 14bcf0aaa51138afdd95190d814f4b46013f990e

Fix Peekable::next_back

view details

Tim Vermeulen

commit sha 16a23e72d05b0e3cb48f0a5442e651725bf27ae8

Fuse FlattenCompat's inner iterator

view details

Giles Cope

commit sha a113609bdf0f05a3f32ab2f19bed38bde0d7063a

keyword docs for else and inkeyword docs for else and in.

view details

12101111

commit sha 7ca1b2f504a77fd6d82c981242c577dae05f0b9e

Don't use static crt by default when build proc-macro.

view details

12101111

commit sha 7996df992fba0b7e09215843fcfabc0c53828c57

Run format.

view details

12101111

commit sha 89aebbdd7b6cea56284d53ab5aff5e62f1e67b67

Only run this test on musl

view details

12101111

commit sha 84349cc56492d70b37ec288f6f3e887858635fa4

Remove trailing whitespace.

view details

Jonas Schievink

commit sha 425e7e5596c0ab6555fa75292d38863280d4a3d7

Don't insert panic when generator can not return

view details

Jonas Schievink

commit sha 5ac41a1a8d28493c7aa927ae49c664b9b9dce476

Don't insert panic when generator can not unwind

view details

Jonas Schievink

commit sha 46aeef6e655a85087f82bb0d1f94a97e83009218

Poison generators when any terminator unwinds This didn't cause issues before since generator types were always considered to "need drop", leading to unwind paths (including a `Resume` block) always getting generated.

view details

Jonas Schievink

commit sha 8d9f633f4d78777487010ae119454dc9674e42ee

Change index for SwitchInt case The indices do not matter here, and this fixes an index out of bounds panic when compiling a generator that can unwind but not return.

view details

Jonas Schievink

commit sha 2cbccced0856260c6acafabecb3030465dff28c2

Add test for unnecessary panic branches

view details

12101111

commit sha dbed65afaede1a819c5a7319685721339b61733b

Simplify checking of crt_static_feature()

view details

Guillaume Gomez

commit sha 57f1bb15b3f0d2fdd737804c7b7821fe1b40e256

clean up E0308 explanation

view details

Guillaume Gomez

commit sha 64460a12af8786a1859279d2944fd2fc67a3a159

Update tests

view details

Jonas Schievink

commit sha cb58de81654d92074a4abdbf90400f35f6a0062f

Apply suggestions from code review Co-Authored-By: bjorn3 <bjorn3@users.noreply.github.com>

view details

12101111

commit sha 7a89bf166719d46b85c2d00686380587e46ec10d

override flags from compiletest

view details

12101111

commit sha 75e6cfc79b39253ee0e4fafc7805c7b0a1f24ef2

run crt-static test on all target

view details

12101111

commit sha cfff1b4c12607dc3c74d468140aad7f6fdbae6f0

When `crate_type` is `None`,check compiler options

view details

Josh Stone

commit sha 543832b06c7fccd570a85e2f30a447303fd58602

Regenerate tables for Unicode 13.0.0

view details

push time in 13 days

delete branch tmiasko/rust

delete branch : atomic-copy

delete time in 13 days

pull request commentrust-lang/rust

Use copy bound in atomic operations to generate simpler MIR

The changes here don't affect any public API (the other PR is more interesting in that respect).

r? @eddyb

tmiasko

comment created time in 13 days

pull request commentrust-lang/rust

Add copy bound to atomic & numeric intrinsics

r? @eddyb

tmiasko

comment created time in 13 days

PR opened rust-lang/rust

Add copy bound to atomic & numeric intrinsics

Includes changes from #70088.

+127 -127

0 comment

2 changed files

pr created time in 14 days

create barnchtmiasko/rust

branch : intrinsics-copy

created branch time in 14 days

pull request commentrust-lang/rust

Use copy bound in atomic operations to generate simpler MIR

I was looking at this from the angle: what would it take for MIR transforms to optimize a.store(v, Ordering::Relaxed); to just an intrinsic call. This change helps, but inlining cost is still above the threshold for store operation in particular (there are costly panic calls, and even replacing them with an abort intrinsic it is merely sufficient to remove one layer of indirection and inline atomic_store function into the method).

Extending this to intrinsics should work. I could add them with understanding that it would break generic code that uses them without similar bounds, like for example this one here (before changes). In a separate PR preferably.

tmiasko

comment created time in 14 days

PR opened rust-lang/rust

Use copy bound in atomic operations to generate simpler MIR
+15 -15

0 comment

1 changed file

pr created time in 14 days

push eventtmiasko/rust

Tomasz Miąsko

commit sha af0d6fc0070065df30af99fe8f1995548d81e903

Use copy bound in atomic operations to generate simpler MIR

view details

push time in 14 days

create barnchtmiasko/rust

branch : atomic-copy

created branch time in 14 days

delete branch tmiasko/rust

delete branch : bootstrap-sanitizers-hash

delete time in 14 days

push eventtmiasko/backtrace-rs

Tomasz Miąsko

commit sha b3b4ff0e72af6d683a5ef3775ce335e726687c12

Add test case for line-tables-only

view details

push time in 16 days

push eventtmiasko/backtrace-rs

Tomasz Miąsko

commit sha dab8d7ad11dde51b482fc1853a4ae14dc8a944fa

Add test case for line-tables-only

view details

push time in 16 days

delete branch tmiasko/rust

delete branch : debuginfo-column

delete time in 16 days

push eventtmiasko/backtrace-rs

Tomasz Miąsko

commit sha 13dcac9a3979915c0ef26478fcd6b832b423db5b

Support line-tables-only when using libbacktrace Previously when `backtrace_pcinfo` succeeded, but failed to obtain a filename or a function name, the line number would be ignored. Instead, when successful combine all available information. For example, when using clang `-g1` or `-gline-tables-only` before: ``` 1: baz 2: bar 3: foo ``` and after: ``` 1: baz at src/callback.c:5 2: bar at src/callback.c:9 3: foo at src/callback.c:13 ```

view details

push time in 17 days

PR opened rust-lang/backtrace-rs

Support line-tables-only when using libunwind

Previously when backtrace_pcinfo succeeded, but failed to obtain a filename or a function name, the line number would be ignored. Instead, when successful combine all available information.

For example, when using clang -g1 or -gline-tables-only before:

   1: baz
   2: bar
   3: foo

and after:

   1: baz
             at src/callback.c:5
   2: bar
             at src/callback.c:9
   3: foo
             at src/callback.c:13

Note that the difference is probably not observable on gcc which includes the relevant debug info on level 1, nor in rustc where the differences between debug levels 1 and 2 are currently rather limited.

+3 -3

0 comment

1 changed file

pr created time in 17 days

push eventtmiasko/backtrace-rs

Tomasz Miąsko

commit sha cffc17210292a5dff442a9f0bc92e2a42cb405ac

Support line-tables-only when using libunwind Previously when `backtrace_pcinfo` succeeded, but failed to obtain a filename or a function name, the line number would be ignored. Instead, when successful combine all available information. For example, when using clang `-g1` or `-gline-tables-only` before: ``` 1: baz 2: bar 3: foo ``` and after: ``` 1: baz at src/callback.c:5 2: bar at src/callback.c:9 3: foo at src/callback.c:13 ```

view details

push time in 17 days

create barnchtmiasko/backtrace-rs

branch : line-tables-only

created branch time in 17 days

Pull request review commenttokio-rs/tokio

rt: track loom changes + tweak queue

 impl<T> Local<T> {     fn push_overflow(         &mut self,         task: task::Notified<T>,-        head: u32,-        tail: u32,+        head: u8,+        tail: u8,         inject: &Inject<T>,     ) -> Result<(), task::Notified<T>> {         const BATCH_LEN: usize = LOCAL_QUEUE_CAPACITY / 2 + 1; -        let n = tail.wrapping_sub(head) / 2;-        debug_assert_eq!(n as usize, LOCAL_QUEUE_CAPACITY / 2, "queue is not full");+        let n = LOCAL_QUEUE_CAPACITY as u8 / 2;
        let n = (LOCAL_QUEUE_CAPACITY / 2) as u8;
carllerche

comment created time in 18 days

issue commentrust-lang/wg-cargo-std-aware

Fixup some crate flags.

The rust-lang/compiler-builtins#347 is one example of linking issues encountered when build-std is combined with fat LTO on a profile with debug assertions.

ehuss

comment created time in 18 days

issue openedrust-lang/compiler-builtins

-Zbuild-std + lto="fat" = undefined reference to `core::panicking::panic`

$ cargo new --bin a
     Created binary (application) `a` package
$ cd a/
$ echo -e '[profile.dev]\nlto="fat"' >> Cargo.toml 
$ cargo run -Zbuild-std --target x86_64-unknown-linux-gnu
...
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/../.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/tmp/a/target/x86_64-unknown-linux-gnu/debug/deps/a-f6afee8bd619dd6c.10btgdcccpdgwv38.rcgu.o" "-o" "/tmp/a/target/x86_64-unknown-linux-gnu/debug/deps/a-f6afee8bd619dd6c" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/tmp/a/target/x86_64-unknown-linux-gnu/debug/deps" "-L" "/tmp/a/target/debug/deps" "-L" "/tmp/a/target/x86_64-unknown-linux-gnu/debug/build/backtrace-sys-23683e5572d20c8c/out" "-L" "/../.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,--start-group" "-Wl,-Bstatic" "/tmp/rustcgyDZiW/libbacktrace_sys-ba159dd14189807b.rlib" "-Wl,--end-group" "/tmp/a/target/x86_64-unknown-linux-gnu/debug/deps/libcompiler_builtins-495badfa0e51e0a1.rlib" "-Wl,-Bdynamic" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil"
  = note: /usr/bin/ld: /tmp/a/target/x86_64-unknown-linux-gnu/debug/deps/libcompiler_builtins-495badfa0e51e0a1.rlib(compiler_builtins-495badfa0e51e0a1.compiler_builtins.ecun6ipv-cgu.15.rcgu.o): in function `<i128 as core::ops::arith::Sub>::sub':
          /../.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ops/arith.rs:194: undefined reference to `core::panicking::panic'
          /usr/bin/ld: /tmp/a/target/x86_64-unknown-linux-gnu/debug/deps/libcompiler_builtins-495badfa0e51e0a1.rlib(compiler_builtins-495badfa0e51e0a1.compiler_builtins.ecun6ipv-cgu.11.rcgu.o): in function `compiler_builtins::int::sdiv::Div::div':
          /../.cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.25/src/int/sdiv.rs:6: undefined reference to `core::panicking::panic'
          /usr/bin/ld: /../.cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.25/src/int/sdiv.rs:7: undefined reference to `core::panicking::panic'
          /usr/bin/ld: /tmp/a/target/x86_64-unknown-linux-gnu/debug/deps/libcompiler_builtins-495badfa0e51e0a1.rlib(compiler_builtins-495badfa0e51e0a1.compiler_builtins.ecun6ipv-cgu.11.rcgu.o): in function `compiler_builtins::int::sdiv::Mod::mod_':
          /../.cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.25/src/int/sdiv.rs:28: undefined reference to `core::panicking::panic'
          /usr/bin/ld: /../.cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.25/src/int/sdiv.rs:31: undefined reference to `core::panicking::panic'
          /usr/bin/ld: /tmp/a/target/x86_64-unknown-linux-gnu/debug/deps/libcompiler_builtins-495badfa0e51e0a1.rlib(compiler_builtins-495badfa0e51e0a1.compiler_builtins.ecun6ipv-cgu.13.rcgu.o):/../.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ops/bit.rs:515: more undefined references to `core::panicking::panic' follow
          collect2: error: ld returned 1 exit status
          

error: aborting due to previous error

Looks like this is either an issue with compiler-builtins which should avoid using any checked operations which could generate references to core crate, or an issue with cargo -Zbuild-std which should always built this crate with -Coverflow-checks=no.

created time in 19 days

issue commentrust-lang/rust

Incorrect LLVM generated with mir-opt-level=2: cannot invoke intrinsic

The implementation ends up calling pause intrinsic declared as follows:

#![feature(link_llvm_intrinsics)]

extern "C" {
    #[link_name = "llvm.x86.sse2.pause"]
    fn pause();
}

The rustc codegen is completely unaware that it is dealing with an intrinsic, it just changes the symbol name. Looks like the whole feature was introduced by accident, and link_llvm_intrinsics feature gate was introduced after the fact to make it unstable.

tmiasko

comment created time in 19 days

PR opened rust-lang/rust

librustc_codegen_llvm: Replace deprecated API usage
+23 -16

0 comment

8 changed files

pr created time in 20 days

create barnchtmiasko/rust

branch : llvm-api

created branch time in 20 days

create barnchtmiasko/rust

branch : llvm-replace-deprecated

created branch time in 20 days

issue openedrust-lang/rust

Incorrect LLVM generated with mir-opt-level=2: cannot invoke intrinsic

struct A;

impl Drop for A {
    fn drop(&mut self) {
        println!("A");
    }
}

fn main() {
    let a = A;
    std::sync::atomic::spin_loop_hint();
    std::mem::forget(a);
}
$ rustc -Copt-level=0 -Zmir-opt-level=2 a.rs
Cannot invoke an intrinsic other than donothing, patchpoint, statepoint, coro_resume or coro_destroy
  invoke void @llvm.x86.sse2.pause()
          to label %15 unwind label %16
Cannot invoke an intrinsic other than donothing, patchpoint, statepoint, coro_resume or coro_destroy
  invoke void @llvm.x86.sse2.pause()
          to label %15 unwind label %16
in function _ZN1a4main17h5a7c080779719c70E
LLVM ERROR: Broken function found, compilation aborted!

created time in 21 days

pull request commentrust-lang/rust

librustc_codegen_llvm: Use slices instead of 0-terminated strings

Amended the commit message to remove the typo.

tmiasko

comment created time in 21 days

push eventtmiasko/rust

Tomasz Miąsko

commit sha 1106579c780ceafc3493be0c3f43f821920554ae

librustc_codegen_llvm: Use slices instead of 0-terminated strings Changed functions: * LLVMRustGetOrInsertFunction * LLVMRustGetNamedValue * LLVMRustBuildCall (removed unused name argument) * LLVMRustInlineAsm * LLVMRustInlineAsmVerify * LLVMRustAppendModuleInlineAsm

view details

push time in 21 days

Pull request review commentrust-lang/rust

librustc_codegen_llvm: Use slices instead of 0-termianted strings

 static InlineAsm::AsmDialect fromRust(LLVMRustAsmDialect Dialect) {   } } -extern "C" LLVMValueRef LLVMRustInlineAsm(LLVMTypeRef Ty, char *AsmString,-                                          char *Constraints,-                                          LLVMBool HasSideEffects,-                                          LLVMBool IsAlignStack,-                                          LLVMRustAsmDialect Dialect) {-  return wrap(InlineAsm::get(unwrap<FunctionType>(Ty), AsmString, Constraints,+extern "C" LLVMValueRef LLVMRustInlineAsm(+    LLVMTypeRef Ty, char *AsmString, size_t AsmStringLen,+    char *Constraints, size_t ConstraintsLen,+    LLVMBool HasSideEffects, LLVMBool IsAlignStack, LLVMRustAsmDialect Dialect) {

Git history reveals that clang-format with LLVM style had been used from time to time to format files in rustllvm. I formatted the commit accordingly.

tmiasko

comment created time in 21 days

push eventtmiasko/rust

Tomasz Miąsko

commit sha 3811a63d93980269a5a8f692dc336e7e0da0bb1c

librustc_codegen_llvm: Use slices instead of 0-termianted strings Changed functions: * LLVMRustGetOrInsertFunction * LLVMRustGetNamedValue * LLVMRustBuildCall (removed unused name argument) * LLVMRustInlineAsm * LLVMRustInlineAsmVerify * LLVMRustAppendModuleInlineAsm

view details

push time in 21 days

pull request commentrust-lang/rust

Emit 1-based column numbers in debuginfo

r? @michaelwoerister

tmiasko

comment created time in 21 days

PR opened rust-lang/rust

librustc_codegen_llvm: Use slices instead of 0-termianted strings

Changed functions:

  • LLVMRustGetOrInsertFunction
  • LLVMRustGetNamedValue
  • LLVMRustBuildCall (removed unused name argument)
  • LLVMRustInlineAsm
  • LLVMRustInlineAsmVerify
  • LLVMRustAppendModuleInlineAsm
+59 -56

0 comment

6 changed files

pr created time in 21 days

create barnchtmiasko/rust

branch : cstr

created branch time in 21 days

push eventtmiasko/rust-clippy

Tomasz Miąsko

commit sha 173dddd49140a5b94b578a9290741319e0326dc8

Lint trait object pointer comparisons

view details

push time in 22 days

push eventtmiasko/rust-clippy

Tomasz Miąsko

commit sha 39f6e82abc0770c95e632fceef99a0f5e9c8683e

Lint trait object pointer comparisons

view details

push time in 22 days

PR opened rust-lang/rust-clippy

Lint trait object pointer comparisons

changelog: Add [trait_ptr_comparisons] lint to warn about trait object pointer comparisons.

+164 -2

0 comment

8 changed files

pr created time in 22 days

create barnchtmiasko/rust-clippy

branch : trait-ptr-cmp

created branch time in 22 days

fork tmiasko/rust-clippy

A bunch of lints to catch common mistakes and improve your Rust code

https://rust-lang.github.io/rust-clippy/

fork in 22 days

issue commentrust-lang/rust

Consider warning when comparing wide pointers with vtables (as their address identity is unstable)

There is also an opposite issue: addresses of virtual tables associated with different impls might compare equal, since they are marked with unnamed_addr.

It is possible to produce such cases after repeating some optimization passes. First all methods from vtables are merged together, and then vtables themselves are.

jdm

comment created time in 22 days

pull request commentrust-lang/rust

librustc_codegen_llvm: Use slices in preference to 0-terminated strings

Rebased and converted two remaining uses of 0-terminated strings in debuginfo codegen: LLVMRustDIBuilderCreateCompileUnit and LLVMRustDIBuilderCreateVariantMemberType.

r? @nagisa

tmiasko

comment created time in 23 days

push eventtmiasko/rust

spunit262

commit sha 30d4f1b78d997fb555388cb8ebea474ffb85794c

Don't give invalid suggestion on desugared span.

view details

David Ross

commit sha 940f65782cc5df7fecad27b38cc25b6d1eeaf2e8

Parse & reject postfix operators after casts This adds parsing for expressions like 'x as Ty[0]' which will immediately error out, but still give the rest of the parser a valid parse tree to continue.

view details

David Ross

commit sha 5ce9b80c0f93e54bc83f6cb15942ecdce31c3e6a

Refactor out error case & apply suggestions. This is almost entirely refactoring and message changing, with the single behavioral change of panicking for unexpected output.

view details

David Ross

commit sha 4fc0532269f40c2870936faaebcdd14539613411

Type ascription outputs a Type, not Cast Previously this just errored out on all usages of type ascription, which isn't helpful.

view details

David Ross

commit sha 0cf204930a2ecaa5f7416602fca6054d4fd44b6b

Keep better fix suggestion if type ascription is likely unintended

view details

David Ross

commit sha f82ca8b0efa64bc33ed811b34c83a21aeb2950d1

Add more error cases to issue 35813 tests

view details

David Ross

commit sha 5dd646435ba882574e677acf58113880a6570949

Fix related type ascription tests.

view details

David Ross

commit sha e3eefe266756449ebe3b2c1bb177f0130569b3b2

Remove extra debug print in unreachable!

view details

David Ross

commit sha c2d7ffb8a9906f5c7b6a1cf6a739cf4d7d732c2b

Remove trailing whitespace

view details

David Ross

commit sha 8ef3da0858c5a76fd1756b9efcf82eeb9491fb64

Fix test stderr after rebasing on master.

view details

David Ross

commit sha fa1f547f82d66f986af2c33220199b042fcb5f99

Add more double cast + method call tests

view details

David Ross

commit sha f434c6e636eda6c6c4fe167eee5b2549f8524ec7

Use multipart suggestion This is a modified version of estebank's suggestion, with a bit of extra cleanup now that we don't need the different cases for if we can turn a span into a string or not.

view details

Yuki Okushi

commit sha f85b0c456f763a70a8eae0e4a9daf6a4005ef87a

Remove use of `unwrap()` from save-analysis

view details

Yuki Okushi

commit sha a211a82b3c7e450edd99ff6d3cf77a0cedae0d2e

Address review comment

view details

Yuki Okushi

commit sha 5307edce6faa5c675dc57a1dd3b4fdcbf1ebdc7d

Tweak tests

view details

Yuki Okushi

commit sha f9db3c243bae6c0618f83a36520b3fa7e726d693

Clean up unstable book

view details

Yuki Okushi

commit sha 4c9e87e989bd15bde318e4a03836591658826445

Stop generating `compiler_builtins_lib` doc

view details

Yuki Okushi

commit sha c55df3786a944e10615075184a507554cf7d7c39

Make `rustc_attrs` tracking issue None

view details

David

commit sha 453c5051476fab4d09f6d16bdbf37043c5c26a27

Replace ptr hashing with ptr casting Implementes suggeseted changes by Centril. This checks whether the memory location of the cast remains the same after atttempting to parse a postfix operator after a cast has been parsed. If the address is not the same, an illegal postfix operator was parsed. Previously the code generated a hash of the pointer, which was overly complex and inefficent. Casting the pointers and comparing them is simpler and more effcient.

view details

Mazdak Farrokhzad

commit sha 2746e12948ee4d152f8d8acfb5873f970effe501

check_binding_alt_eq_ty: improve precision wrt. `if let`.

view details

push time in 23 days

delete branch tmiasko/rust

delete branch : address-g

delete time in 23 days

delete branch tmiasko/rust

delete branch : di-enumerator

delete time in 23 days

Pull request review commentrust-lang/rust

librustc_codegen_llvm: Use slices in preference to 0-terminated strings

 extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateCompileUnit(                                          fromRust(Kind))); } -extern "C" LLVMMetadataRef-LLVMRustDIBuilderCreateFile(LLVMRustDIBuilderRef Builder, const char *Filename,-                            const char *Directory) {-  return wrap(Builder->createFile(Filename, Directory));+extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateFile(+    LLVMRustDIBuilderRef Builder,+    const char *Filename, size_t FilenameLen,+    const char *Directory, size_t DirectoryLen) {+  return wrap(Builder->createFile({Filename, FilenameLen},

Repalced with StringRef(Name, NameLen) which I feel is more common in LLVM itself.

tmiasko

comment created time in 24 days

push eventtmiasko/rust

Tomasz Miąsko

commit sha 9537350a26bf78a41ca3238b261c402833e5125b

Use slices in preference to 0-terminated strings Additionally whenever possible match C API provided by the LLVM.

view details

Tomasz Miąsko

commit sha 4d0932cedc0b12c2b015a5aa76af459813a989db

Avoid unnecessary interning of enum variant part id

view details

push time in 24 days

issue commentrust-lang/rust

Small perf regression in #69635

The different performance might be strictly about the fact that a different code is actually being compiled and optimized, since the Layout is part of the standard library.

It would be interesting to test compile time with different core but exactly the same rustc.

ecstatic-morse

comment created time in 25 days

PR opened rust-lang/rust

Compile address sanitizer test with debuginfo

This makes error-pattern to match regardless of current configuration of rust.debuginfo-level-tests in config.toml.

+2 -3

0 comment

1 changed file

pr created time in 25 days

create barnchtmiasko/rust

branch : address-g

created branch time in 25 days

PR closed rust-lang/rust

Prefer signal handlers provided by a sanitizer runtime to those in std. S-waiting-on-review

Sanitizer runtimes install signal handlers for SIGBUS and SIGSEGV which generate informative error reports. Use them in preference to those installed by std.

The first commit introduces the use of cfg_if to select between different signal handlers implementations, no functional changes are intended there. The second commit uses empty implementation when sanitizers are enabled.

Helps with #69524.

+159 -161

9 comments

4 changed files

tmiasko

pr closed time in 25 days

pull request commentrust-lang/rust

Prefer signal handlers provided by a sanitizer runtime to those in std.

Superseded by changes from #69685. Thanks for creating the pull request @cuviper.

tmiasko

comment created time in 25 days

Pull request review commentrust-lang/rust

librustc_codegen_llvm: Use slices in preference to 0-terminated strings

 pub fn create_global_var_metadata(cx: &CodegenCx<'ll, '_>, def_id: DefId, global     let is_local_to_unit = is_node_local_to_unit(cx, def_id);     let variable_type = Instance::mono(cx.tcx, def_id).monomorphic_ty(cx.tcx);     let type_metadata = type_metadata(cx, variable_type, span);-    let var_name = SmallCStr::new(&tcx.item_name(def_id).as_str());+    let var_name = tcx.item_name(def_id).as_str();     let linkage_name = if no_mangle {         None     } else {-        let linkage_name = mangled_name_of_instance(cx, Instance::mono(tcx, def_id));-        Some(SmallCStr::new(&linkage_name.name.as_str()))+        Some(mangled_name_of_instance(cx, Instance::mono(tcx, def_id)).name.as_str())     };+    // When empty, linkage_name field is omitted,+    // which is what we want for no_mangle statics+    let linkage_name = linkage_name.as_deref().unwrap_or("");

Both a null pointer and an empty string will create a StringRef representing an empty sequence of bytes. At this point they are still distinguishable by looking at the data pointer, although it would unusual to do so in StringRef based API.

In this case, Name and LinkageName are turned into canonical MDStrings which remove the distinction completely:

  static MDString *getCanonicalMDString(LLVMContext &Context, StringRef S) {
    if (S.empty())
      return nullptr;
    return MDString::get(Context, S);
  }
tmiasko

comment created time in 25 days

push eventtmiasko/rust

Tomasz Miąsko

commit sha c8b3c8be47e97b40705aa40ce84447086083a04f

Use slices in preference to 0-terminated strings Additionally whenever possible match C API provided by the LLVM.

view details

Tomasz Miąsko

commit sha f0cf987a8002aee5fea433f335632d1abde49312

Avoid unnecessary interning of enum variant part id

view details

push time in 25 days

more