diff options
| author | bors <bors@rust-lang.org> | 2020-04-17 14:15:28 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-04-17 14:15:28 +0000 |
| commit | 52dacbc876f3f60f25cdbdf0e8a0a3737beb6704 (patch) | |
| tree | ccf9a5cdc0da3e189437c9c3a75805afb86176e9 /src/rustllvm/RustWrapper.cpp | |
| parent | 3ea8e5e85659db1af8a1d76d39f88639c0724f99 (diff) | |
| parent | 66b855c30b590e8c3140375f9e5afc71ce0b2775 (diff) | |
| download | rust-52dacbc876f3f60f25cdbdf0e8a0a3737beb6704.tar.gz rust-52dacbc876f3f60f25cdbdf0e8a0a3737beb6704.zip | |
Auto merge of #5445 - logan-dev-oss:master, r=flip1995
Fixes issue #4892.
First contribution here 😊 ! Do not hesitate to correct me.
This PR is related to issue #4892 .
# Summary
```rust
-literal.method_call(args)
```
The main idea is to not trigger `clippy::precedence` when the method call is an odd function.
# Example
```rust
// should trigger lint
let _ = -1.0_f64.abs() //precedence of method call abs() and neg ('-') is ambiguous
// should not trigger lint
let _ = -1.0_f64.sin() // sin is an odd function => -sin(x) = sin(-x)
```
# Theory
Rust allows following literals:
- char
- string
- integers
- floats
- byte
- bool
Only integers/floats implements the relevant `std::ops::Neg`.
Following odd functions are implemented on i[8-128] and/or f[32-64]:
- `asin`
- `asinh`
- `atan`
- `atanh`
- `cbrt`
- `fract`
- `round`
- `signum`
- `sin`
- `sinh`
- `tan`
- `tanh `
- `to_degrees`
- `to_radians`
# Implementation
As suggested by `flip1995` in [comment](https://github.com/rust-lang/rust-clippy/issues/4892#issuecomment-568249683), this PR add a whitelist of odd functions and compare method call to the the whitelist before triggering lint.
changelog: Don't trigger [`clippy::precedence`] on odd functions.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
