Commit graph

4375 commits

Author SHA1 Message Date
Ryan Cumming
08d6b3d2f6 Allow pass by ref when returning ADT with ref
This is a follow-up to #2951 that extends the logic to allow for
returning references inside structs/enums/unions. This was a simple
oversight in the first version and it's surprisingly easy to handle.
2018-08-02 17:57:49 +10:00
Michael Wright
534d546c81 Fix #2979 2018-08-02 08:56:53 +02:00
Alex Crichton
c27cdcaf71 Switch strategies for how rustc's workspace is unioned
See rust-lang/rust#52919 for more details.
2018-08-01 21:33:44 -07:00
Philipp Hansch
b60c887c13
Merge pull request #2987 from aaudiber/address-build-warning
Address build warning
2018-08-01 08:23:33 +01:00
Andrew Audibert
3851c0e22b Address build warning 2018-07-31 23:53:45 -07:00
Philipp Hansch
6749b2d93e
Merge pull request #2966 from matthiaskrgr/moar_dogfood
travis: run tests of external projects with --all-targets --all-features, increase coverage
2018-08-01 07:08:54 +01:00
Philipp Hansch
d7ffaab0fb
Merge pull request #2968 from phansch/first_an_ICE_and_then_some_ice_cream
Fix ICE with 'while let Some(..) = x.iter()'
2018-08-01 06:18:34 +01:00
Philipp Hansch
4dbc62baf8
Merge pull request #2983 from mikerite/fix_warnings_20180730
Fix compiler warnings
2018-08-01 06:18:18 +01:00
Michael Wright
98dbce4fe4 Fix E0502 warnings
Fixes #2982
2018-08-01 06:33:08 +02:00
Philipp Hansch
97840090b7
Merge pull request #2984 from flip1995/single_char_pattern
single_char_pattern: lint only on the argument span
2018-07-31 19:06:57 +01:00
flip1995
74fcf7de4a
single_char_pattern: lint only on the argument span 2018-07-31 12:20:32 +02:00
Michael Wright
9c53b1560c Fix unused_mut warning 2018-07-31 07:45:05 +02:00
Manish Goregaokar
bc98346baa
Merge pull request #2969 from matthiaskrgr/discordgitter
CONTRIBUTING: mention discord channel
2018-07-30 10:18:49 -07:00
Andrew Audibert
0ea1afab3a Lint using identity into_iter conversion 2018-07-29 21:37:31 -07:00
Matthias Krüger
a2343bfe7f integration tests: add more clippy warnings for greater coverage
integration/base tests: add a few code comments
2018-07-30 00:11:58 +02:00
Matthias Krüger
e0214397bd travis: run tests of external projects with --all-targets --all-features -- --cap-lints warn 2018-07-30 00:11:58 +02:00
Matthias Krüger
be8863836e CONTRIBUTING: mention discord channel. 2018-07-30 00:10:19 +02:00
Philipp Krones
4010788b3a
Merge pull request #2917 from mikerite/issue2894
Fix #2894
2018-07-29 23:54:03 +02:00
Philipp Hansch
0aeb82cb67
Merge pull request #2959 from chrisduerr/master
Add known problem to `needless_borrow` lint
2018-07-29 12:15:17 +02:00
Philipp Hansch
946340acfe
Fix ICE with 'while let (..) = x.iter()' 2018-07-29 11:00:26 +02:00
Michael Wright
d7ddb2abba Add use_self comment 2018-07-28 10:42:21 +02:00
Michael Wright
8eeb3feadf Merge branch 'master' into issue2894 2018-07-28 08:41:10 +02:00
Oliver Schneider
b0dabce478
Merge pull request #2963 from commandline/master
Fix regression in print_literal
2018-07-26 10:11:34 +02:00
Thomas Gideon
9b11be72c0 Fix copy-paste error 2018-07-25 18:14:11 -04:00
Thomas Gideon
5446e73de6 And the ones annotating the source file name. 2018-07-25 18:00:19 -04:00
Thomas Gideon
457b76cedf Update line numbers 2018-07-25 17:51:04 -04:00
Thomas Gideon
bf3f976a43 Fix regression in print_literal 2018-07-25 17:31:17 -04:00
Philipp Hansch
e1096391dc
Merge pull request #2960 from matthiaskrgr/typos
fix a bunch of typos found by codespell
2018-07-25 22:57:10 +02:00
Philipp Hansch
3bd062e1d9
Merge pull request #2948 from Nemo157/patch-1
Add known problem for redundant_closure lint
2018-07-25 22:55:36 +02:00
Philipp Hansch
f52dd2b8f7
Further automate pre_publish.sh 2018-07-25 22:50:13 +02:00
Matthias Krüger
2665f10662 fix a bunch of typos found by codespell 2018-07-25 20:02:52 +02:00
Matthias Krüger
cfc9b33f17 Merge branch 'master' into typos 2018-07-25 19:54:45 +02:00
Christian Duerr
13353111da
Add known problem to needless_borrow lint
The `needless_borrow` lint is temporarily disabled because of some false
positives it causes in combination with the `derive` macro.

However the documentation does not explain these issues, but instead
lists `Known problems: None`. To make it clear why this lint is
currently not enabled, a description of the false positives caused by
this lint has been added to the `Known problems` section.
2018-07-25 14:54:09 +02:00
Philipp Hansch
fde487c1dc
Merge pull request #2958 from phansch/small_text_change_for_update_lints
s/wiki/lint list/
2018-07-25 08:48:56 +02:00
Philipp Hansch
0961c692fa
s/wiki/lint list/ 2018-07-25 08:22:52 +02:00
Michael Wright
137f944315 Fix warnings 2018-07-25 06:34:29 +02:00
Michael Wright
5e23fcec0b Merge branch 'master' into issue2894 2018-07-25 06:27:36 +02:00
Manish Goregaokar
b2caf669a8
Merge pull request #2952 from dwijnand/upstream-in_external_macro
Switch to rustc's in_external_macro function
2018-07-24 08:27:38 -07:00
Dale Wijnand
a1cce2d06a
Inline utils::in_external_macro 2018-07-24 10:38:58 +01:00
Dale Wijnand
b1fa7b91ba
Delegate utils::in_external_macro to rustc::lint::in_external_macro 2018-07-24 10:34:18 +01:00
Philipp Krones
b02e53de34
Merge pull request #2951 from etaoins/allow-pass-by-ref-on-ref-return
Allow pass by reference if we return a reference
2018-07-24 11:23:01 +02:00
Philipp Krones
3f9b837ec8
Merge pull request #2953 from dwijnand/misrefactored_assign_op-known-problem-doc
Expand on misrefactored_assign_op known problems
2018-07-24 11:19:58 +02:00
Ryan Cumming
0afa5e1e21 Merge branch 'master' into allow-pass-by-ref-on-ref-return 2018-07-24 19:03:43 +10:00
Dale Wijnand
70f5bb1ff6
Tweak
misrefactored_assign_op's known problems wording
2018-07-24 09:26:28 +01:00
Oliver Schneider
25e0a08325
Merge pull request #2949 from rust-lang-nursery/preexpansion
Rewrite the print/write macro checks as a PreExpansionPass
2018-07-24 10:08:50 +02:00
Dale Wijnand
6ad7a92ff8
Expand on misrefactored_assign_op known problems 2018-07-24 08:39:18 +01:00
Oliver Schneider
afd91248ed Rustup 2018-07-23 13:01:12 +02:00
Ryan Cumming
7c74c3e508 Wrap comment at 80 columns 2018-07-23 19:37:41 +10:00
Ryan Cumming
89a4558056 Add Known Problem for multiple lifetimes 2018-07-23 19:33:52 +10:00
Ryan Cumming
58459abd0c Allow pass by reference if we return a reference
Currently this code will trigger `trivally_copy_pass_by_ref`:

```
struct OuterStruct {
    field: [u8; 8],
}

fn return_inner(outer: &OuterStruct) -> &[u8] {
    &outer.field
}
```

If we change the `outer` to be pass-by-value it will not live long
enough for us to return the reference. The above example is trivial but
I've hit this in real code that either returns a reference to either the
argument or in to `self`.

This suppresses the `trivally_copy_pass_by_ref` lint if we return a
reference and it has the same lifetime as the argument. This will likely
miss complex cases with multiple lifetimes bounded by each other but it
should cover the majority of cases with little effort.
2018-07-23 18:44:40 +10:00