about summary refs log tree commit diff
path: root/src/librustc/lint/builtin.rs
AgeCommit message (Collapse)AuthorLines
2020-01-11move {rustc -> rustc_session}::lint::builtinMazdak Farrokhzad-509/+0
2020-01-11prepare moving HardwiredLints to rustc_sessionMazdak Farrokhzad-129/+2
2020-01-11buffered lint infra -> rustc_sessionMazdak Farrokhzad-18/+1
2020-01-11prepare for moving BuiltinLintDiagnostics to rustc_sessionMazdak Farrokhzad-74/+70
2020-01-11Remove unused derivesMazdak Farrokhzad-1/+1
2020-01-10nix syntax::errors & prefer rustc_errors over errorsMazdak Farrokhzad-1/+1
2020-01-08- remove syntax::{span_warn!, span_err!, span_fatal!. struct_err!}Mazdak Farrokhzad-0/+7
- remove syntax::{help!, span_help!, span_note!} - remove unused syntax::{struct_span_fatal, struct_span_err_or_warn!, span_err_or_warn!} - lintify check_for_bindings_named_same_as_variants + conflicting_repr_hints - inline syntax::{struct_span_warn!, diagnostic_used!} - stringify_error_code! -> error_code! & use it more. - find_plugin_registrar: de-fatalize an error - de-fatalize metadata errors - move type_error_struct! to rustc_typeck - struct_span_err! -> rustc_errors
2020-01-02Normalize `syntax::edition` imports.Mazdak Farrokhzad-1/+1
2020-01-02Normalize `syntax::symbol` imports.Mazdak Farrokhzad-1/+1
2020-01-02Normalize `syntax::source_map` imports.Mazdak Farrokhzad-1/+1
2019-12-31librustc_ast_lowering: fix misc fallout.Mazdak Farrokhzad-1/+1
2019-12-22Format the worldMark Rousskov-20/+25
2019-12-08Rollup merge of #66325 - BartMassey:master, r=joshtriplettMazdak Farrokhzad-1/+1
Change unused_labels from allow to warn Fixes #66324, making the unused_labels lint warn instead of allow by default. I'm told @rust-lang/lang will need to review this, and perhaps will want to do a crater run.
2019-12-03Move early lint declarations to librustc_sessionMark Rousskov-27/+4
2019-11-15Changed unused_labels lint default from allow to warnBart Massey-1/+1
Closes #66324.
2019-11-06patterns_in_fns_without_body -> denyMazdak Farrokhzad-1/+1
2019-11-06ill_formed_attribute_input -> denyMazdak Farrokhzad-1/+1
2019-11-06nested_impl_trait -> errorMazdak Farrokhzad-18/+0
2019-11-06duplicate_macro_exports -> errorMazdak Farrokhzad-16/+0
2019-11-06parenthesized_params_in_types_and_modules -> errorMazdak Farrokhzad-11/+0
2019-11-06safe_extern_static -> errorMazdak Farrokhzad-11/+0
2019-11-06legacy_directory_ownership -> errorMazdak Farrokhzad-12/+0
2019-11-06legacy_ctor_visibility -> errorMazdak Farrokhzad-11/+0
2019-11-05use American spelling for `pluralize!`Andy Russell-2/+2
2019-10-25Emit warning for ignored #[inline] on trait method prototypesvarkor-0/+6
2019-10-23Rollup merge of #65193 - Mark-Simulacrum:lockless-lintstore, r=nikomatsakisMazdak Farrokhzad-31/+138
Lockless LintStore This removes mutability from the lint store after registration. Each commit stands alone, for the most part, though they don't make sense out of sequence. The intent here is to move LintStore to a more parallel-friendly architecture, although also just a cleaner one from an implementation perspective. Specifically, this has the following changes: * We no longer implicitly register lints when registering lint passes * For the most part this means that registration calls now likely want to call something like: `lint_store.register_lints(&Pass::get_lints())` as well as `register_*_pass`. * In theory this is a simplification as it's much easier for folks to just register lints and then have passes that implement whichever lint however they want, rather than necessarily tying passes to lints. * Lint passes still have a list of associated lints, but a followup PR could plausibly change that * This list must be known for a given pass type, not instance, i.e., `fn get_lints()` is the signature instead of `fn get_lints(&self)` as before. * We do not store pass objects, instead storing constructor functions. This means we always get new passes when running lints (this happens approximately once though for a given compiler session, so no behavior change is expected). * Registration API is _much_ simpler: generally all functions are just taking `Fn() -> PassObject` rather than several different `bool`s.
2019-10-17Remove side table of future incompatibility infoMark Rousskov-27/+134
Moves this information to a direct field of Lint, which is where it belongs.
2019-10-17Make declare_lint take any amount of boolean fieldsMark Rousskov-4/+4
2019-10-16Move overlapping patterns to its own lintEsteban Küber-0/+7
2019-10-11Report lint in external macrosmemoryruins-1/+2
2019-10-07Warn if include macro fails to include entire fileMark Rousskov-0/+6
2019-09-20factor out pluralisation remains after #64280gaolei-2/+2
2019-09-07Support "soft" feature-gating using a lintVadim Petrochenkov-0/+7
Use it for feature-gating `#[bench]`
2019-07-19Implement checks for meta-variables in macrosJulien Cretin-0/+7
2019-07-17normalize use of backticks in compiler messages for librustc/lintSamy Kacimi-3/+3
https://github.com/rust-lang/rust/issues/60532
2019-07-12Change `indirect_structural_match` lint to allow-by-default.Felix S. Klock II-1/+3
This is a way to address the regression aspect of rust-lang/rust#62614 in the short term without actually fixing the bug. (My thinking is that the bug that this lint detects has gone undetected for this long, it can wait a bit longer until I or someone else has a chance to put in a proper fix that accounts for rust-lang/rust#62614.)
2019-07-10Auto merge of #62339 - ↵bors-0/+6
pnkfelix:issue-61188-use-visitor-for-structural-match-check, r=nikomatsakis use visitor for #[structural_match] check This changes the code so that we recur down the structure of a type of a const (rather than just inspecting at a shallow one or two levels) when we are looking to see if it has an ADT that did not derive `PartialEq` and `Eq`. Fix #61188 Fix #62307 Cc #62336
2019-07-08future-compat lint for newly handled cases of `#[structural_match]`.Felix S. Klock II-0/+6
2019-07-07Support deprecation checking for macrosVadim Petrochenkov-0/+5
2019-06-26Remove outdated question_mark_macro_sep lintJulien Cretin-7/+0
2019-05-28Set bare_trait_objects lint to warnmemoryruins-1/+1
2019-05-17Auto merge of #49799 - hdhoang:46205_deny_incoherent_fundamental_impls, ↵bors-7/+0
r=nikomatsakis lint: convert incoherent_fundamental_impls into hard error *Summary for affected authors:* If your crate depends on one of the following crates, please upgrade to a newer version: - gtk-rs: upgrade to at least 0.4 - rusqlite: upgrade to at least 0.14 - nalgebra: upgrade to at least 0.15, or the last patch version of 0.14 - spade: upgrade or refresh the Cargo.lock file to use version 1.7 - imageproc: upgrade to at least 0.16 (newer versions no longer use nalgebra) implement #46205 r? @nikomatsakis
2019-05-03Rollup merge of #60388 - cramertj:elided-lifetime-async, r=nikomatsakisMazdak Farrokhzad-30/+50
Disallow non-explicit elided lifetimes in async fn Fix https://github.com/rust-lang/rust/issues/60203 r? @nikomatsakis
2019-05-03Rollup merge of #59928 - petrochenkov:denyambass, r=varkorMazdak Farrokhzad-1/+1
Make deprecation lint `ambiguous_associated_items` deny-by-default As requested by r? @Centril cc https://github.com/rust-lang/rust/issues/57644
2019-05-01Disallow non-explicit elided lifetimes in async fnTaylor Cramer-30/+50
2019-04-16lint: convert incoherent_fundamental_impls into hard errorHoàng Đức Hiếu-7/+0
Also remove it from lint listings.
2019-04-12Make deprecation lint `ambiguous_associated_items` deny-by-defaultVadim Petrochenkov-1/+1
2019-04-10forgot oneMark Mansi-1/+0
2019-04-10make duplicate matcher bindings a hard errorMark Mansi-6/+0
2019-04-04add mutable_borrow_reservation_conflict future-incompatibility lint.Felix S. Klock II-0/+7
Convert the new 2-phase reservation errors into instances of the lint so that they will be controlled by that attribute.