Skip to content

Rollup of 9 pull requests #104479

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 25 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
a3c3f72
Fix mod_inv termination for the last iteration
nagisa Oct 22, 2022
3b16c04
`unchecked_{shl|shr}` should use `u32` as the RHS
scottmcm Oct 24, 2022
2484a18
Add `compile_fail` to `let_underscore_drop` example
saschanaz Oct 24, 2022
3ff010b
Update compiler/rustc_lint/src/let_underscore.rs
saschanaz Oct 24, 2022
6b5f275
Update let_underscore.rs
saschanaz Oct 24, 2022
6279d09
Make `pointer::byte_offset_from` more generic
WaffleLapkin Oct 24, 2022
8ecbb7e
fix the lint as requested
saschanaz Oct 24, 2022
30b5223
Fix failing examples
saschanaz Oct 24, 2022
d7152f8
Allow actual AVX512-related feature names in the case of some mislead…
calebzulawski Oct 30, 2022
1122400
Update compiler/rustc_codegen_llvm/src/llvm_util.rs
calebzulawski Nov 12, 2022
269ce36
migrating rustc_resolve to SessionDiagnostic. work in progress. start
rajputrajat Sep 5, 2022
55746a4
Fix test/ui/issues/issue-30490.rs
Ayush1325 Nov 14, 2022
8b34675
rustdoc: remove no-op CSS `.popover { font-size: 1rem }`
notriddle Nov 14, 2022
bd84709
rustdoc: add test case for font size in help popover
notriddle Nov 14, 2022
70ad2f5
respect visibility & stability of inherent associated types
fmease Nov 13, 2022
0a528b1
Merge branch 'master' into patch-2
saschanaz Nov 15, 2022
5dc1f96
Rollup merge of #101162 - rajputrajat:master, r=davidtwco
Dylan-DPC Nov 16, 2022
81a75dd
Rollup merge of #103378 - nagisa:fix-infinite-offset, r=scottmcm
Dylan-DPC Nov 16, 2022
9cb5855
Rollup merge of #103456 - scottmcm:fix-unchecked-shifts, r=m-ou-se
Dylan-DPC Nov 16, 2022
af25137
Rollup merge of #103484 - saschanaz:patch-2, r=ehuss
Dylan-DPC Nov 16, 2022
c646214
Rollup merge of #103489 - WaffleLapkin:byte_offset_from_you, r=scottmcm
Dylan-DPC Nov 16, 2022
42c7043
Rollup merge of #103750 - calebzulawski:master, r=workingjubilee
Dylan-DPC Nov 16, 2022
b2d162d
Rollup merge of #104348 - fmease:iat-vis-stab, r=cjgillot
Dylan-DPC Nov 16, 2022
2dc923a
Rollup merge of #104419 - Ayush1325:test-issue-30490, r=lcnr
Dylan-DPC Nov 16, 2022
3f45fe3
Rollup merge of #104424 - notriddle:notriddle/popover-font-size, r=Gu…
Dylan-DPC Nov 16, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4047,6 +4047,7 @@ dependencies = [
"rustc_feature",
"rustc_hir",
"rustc_index",
"rustc_macros",
"rustc_metadata",
"rustc_middle",
"rustc_query_system",
Expand Down
8 changes: 4 additions & 4 deletions compiler/rustc_codegen_gcc/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -315,10 +315,10 @@ pub fn target_features(sess: &Session, allow_unstable: bool) -> Vec<Symbol> {
false
}
/*
adx, aes, avx, avx2, avx512bf16, avx512bitalg, avx512bw, avx512cd, avx512dq, avx512er, avx512f, avx512gfni,
avx512ifma, avx512pf, avx512vaes, avx512vbmi, avx512vbmi2, avx512vl, avx512vnni, avx512vp2intersect, avx512vpclmulqdq,
avx512vpopcntdq, bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, rtm,
sha, sse, sse2, sse3, sse4.1, sse4.2, sse4a, ssse3, tbm, xsave, xsavec, xsaveopt, xsaves
adx, aes, avx, avx2, avx512bf16, avx512bitalg, avx512bw, avx512cd, avx512dq, avx512er, avx512f, avx512ifma,
avx512pf, avx512vbmi, avx512vbmi2, avx512vl, avx512vnni, avx512vp2intersect, avx512vpopcntdq,
bmi1, bmi2, cmpxchg16b, ermsb, f16c, fma, fxsr, gfni, lzcnt, movbe, pclmulqdq, popcnt, rdrand, rdseed, rtm,
sha, sse, sse2, sse3, sse4.1, sse4.2, sse4a, ssse3, tbm, vaes, vpclmulqdq, xsave, xsavec, xsaveopt, xsaves
*/
//false
})
Expand Down
3 changes: 3 additions & 0 deletions compiler/rustc_codegen_llvm/src/llvm_util.rs
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,9 @@ pub fn to_llvm_features<'a>(sess: &Session, s: &'a str) -> SmallVec<[&'a str; 2]
("x86", "rdrand") => smallvec!["rdrnd"],
("x86", "bmi1") => smallvec!["bmi"],
("x86", "cmpxchg16b") => smallvec!["cx16"],
// FIXME: These aliases are misleading, and should be removed before avx512_target_feature is
// stabilized. They must remain until std::arch switches off them.
// rust#100752
("x86", "avx512vaes") => smallvec!["vaes"],
("x86", "avx512gfni") => smallvec!["gfni"],
("x86", "avx512vpclmulqdq") => smallvec!["vpclmulqdq"],
Expand Down
3 changes: 3 additions & 0 deletions compiler/rustc_codegen_ssa/src/target_features.rs
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ const X86_ALLOWED_FEATURES: &[(&str, Option<Symbol>)] = &[
("f16c", Some(sym::f16c_target_feature)),
("fma", None),
("fxsr", None),
("gfni", Some(sym::avx512_target_feature)),
("lzcnt", None),
("movbe", Some(sym::movbe_target_feature)),
("pclmulqdq", None),
Expand All @@ -195,6 +196,8 @@ const X86_ALLOWED_FEATURES: &[(&str, Option<Symbol>)] = &[
("sse4a", Some(sym::sse4a_target_feature)),
("ssse3", None),
("tbm", Some(sym::tbm_target_feature)),
("vaes", Some(sym::avx512_target_feature)),
("vpclmulqdq", Some(sym::avx512_target_feature)),
("xsave", None),
("xsavec", None),
("xsaveopt", None),
Expand Down
211 changes: 211 additions & 0 deletions compiler/rustc_error_messages/locales/en-US/resolve.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,211 @@
resolve_parent_module_reset_for_binding =
parent module is reset for binding

resolve_ampersand_used_without_explicit_lifetime_name =
`&` without an explicit lifetime name cannot be used here
.note = explicit lifetime name needed here

resolve_underscore_lifetime_name_cannot_be_used_here =
`'_` cannot be used here
.note = `'_` is a reserved lifetime name

resolve_crate_may_not_be_imported =
`$crate` may not be imported

resolve_crate_root_imports_must_be_named_explicitly =
crate root imports need to be explicitly named: `use crate as name;`

resolve_generic_params_from_outer_function =
can't use generic parameters from outer function
.label = use of generic parameter from outer function
.suggestion = try using a local generic parameter instead

resolve_self_type_implicitly_declared_by_impl =
`Self` type implicitly declared here, by this `impl`

resolve_cannot_use_self_type_here =
can't use `Self` here

resolve_use_a_type_here_instead =
use a type here instead

resolve_type_param_from_outer_fn =
type parameter from outer function

resolve_const_param_from_outer_fn =
const parameter from outer function

resolve_try_using_local_generic_parameter =
try using a local generic parameter instead

resolve_try_adding_local_generic_param_on_method =
try adding a local generic parameter in this method instead

resolve_help_try_using_local_generic_param =
try using a local generic paramter instead

resolve_name_is_already_used_as_generic_parameter =
the name `{$name}` is already used for a generic parameter in this item's generic parameters
.label = already used
.first_use_of_name = first use of `{$name}`

resolve_method_not_member_of_trait =
method `{$method}` is not a member of trait `{$trait_}`
.label = not a member of trait `{$trait_}`

resolve_associated_fn_with_similar_name_exists =
there is an associated function with a similar name

resolve_type_not_member_of_trait =
type `{$type_}` is not a member of trait `{$trait_}`
.label = not a member of trait `{$trait_}`

resolve_associated_type_with_similar_name_exists =
there is an associated type with a similar name

resolve_const_not_member_of_trait =
const `{$const_}` is not a member of trait `{$trait_}`
.label = not a member of trait `{$trait_}`

resolve_associated_const_with_similar_name_exists =
there is an associated constant with a similar name

resolve_variable_bound_with_different_mode =
variable `{$variable_name}` is bound inconsistently across alternatives separated by `|`
.label = bound in different ways
.first_binding_span = first binding

resolve_ident_bound_more_than_once_in_parameter_list =
identifier `{$identifier}` is bound more than once in this parameter list
.label = used as parameter more than once

resolve_ident_bound_more_than_once_in_same_pattern =
identifier `{$identifier}` is bound more than once in the same pattern
.label = used in a pattern more than once

resolve_undeclared_label =
use of undeclared label `{$name}`
.label = undeclared label `{$name}`

resolve_label_with_similar_name_reachable =
a label with a similar name is reachable

resolve_try_using_similarly_named_label =
try using similarly named label

resolve_unreachable_label_with_similar_name_exists =
a label with a similar name exists but is unreachable

resolve_self_import_can_only_appear_once_in_the_list =
`self` import can only appear once in an import list
.label = can only appear once in an import list

resolve_self_import_only_in_import_list_with_non_empty_prefix =
`self` import can only appear in an import list with a non-empty prefix
.label = can only appear in an import list with a non-empty prefix

resolve_cannot_capture_dynamic_environment_in_fn_item =
can't capture dynamic environment in a fn item
.help = use the `|| {"{"} ... {"}"}` closure form instead

resolve_attempt_to_use_non_constant_value_in_constant =
attempt to use a non-constant value in a constant

resolve_attempt_to_use_non_constant_value_in_constant_with_suggestion =
consider using `{$suggestion}` instead of `{$current}`

resolve_attempt_to_use_non_constant_value_in_constant_label_with_suggestion =
non-constant value

resolve_attempt_to_use_non_constant_value_in_constant_without_suggestion =
this would need to be a `{$suggestion}`

resolve_self_imports_only_allowed_within =
`self` imports are only allowed within a {"{"} {"}"} list

resolve_self_imports_only_allowed_within_suggestion =
consider importing the module directly

resolve_self_imports_only_allowed_within_multipart_suggestion =
alternatively, use the multi-path `use` syntax to import `self`

resolve_binding_shadows_something_unacceptable =
{$shadowing_binding}s cannot shadow {$shadowed_binding}s
.label = cannot be named the same as {$article} {$shadowed_binding}
.label_shadowed_binding = the {$shadowed_binding} `{$name}` is {$participle} here

resolve_binding_shadows_something_unacceptable_suggestion =
try specify the pattern arguments

resolve_forward_declared_generic_param =
generic parameters with a default cannot use forward declared identifiers
.label = defaulted generic parameters cannot be forward declared

resolve_param_in_ty_of_const_param =
the type of const parameters must not depend on other generic parameters
.label = the type must not depend on the parameter `{$name}`

resolve_self_in_generic_param_default =
generic parameters cannot use `Self` in their defaults
.label = `Self` in generic parameter default

resolve_param_in_non_trivial_anon_const =
generic parameters may not be used in const operations
.label = cannot perform const operation using `{$name}`

resolve_param_in_non_trivial_anon_const_help =
use `#![feature(generic_const_exprs)]` to allow generic const expressions

resolve_param_in_non_trivial_anon_const_sub_type =
type parameters may not be used in const expressions

resolve_param_in_non_trivial_anon_const_sub_non_type =
const parameters may only be used as standalone arguments, i.e. `{$name}`

resolve_unreachable_label =
use of unreachable label `{$name}`
.label = unreachable label `{$name}`
.label_definition_span = unreachable label defined here
.note = labels are unreachable through functions, closures, async blocks and modules

resolve_unreachable_label_suggestion_use_similarly_named =
try using similarly named label

resolve_unreachable_label_similar_name_reachable =
a label with a similar name is reachable

resolve_unreachable_label_similar_name_unreachable =
a label with a similar name exists but is also unreachable

resolve_trait_impl_mismatch =
item `{$name}` is an associated {$kind}, which doesn't match its trait `{$trait_path}`
.label = does not match trait
.label_trait_item = item in trait

resolve_invalid_asm_sym =
invalid `sym` operand
.label = is a local variable
.help = `sym` operands must refer to either a function or a static

resolve_trait_impl_duplicate =
duplicate definitions with name `{$name}`:
.label = duplicate definition
.old_span_label = previous definition here
.trait_item_span = item in trait

resolve_relative_2018 =
relative paths are not supported in visibilities in 2018 edition or later
.suggestion = try

resolve_ancestor_only =
visibilities can only be restricted to ancestor modules

resolve_expected_found =
expected module, found {$res} `{$path_str}`
.label = not a module

resolve_indeterminate =
cannot determine resolution for the visibility

resolve_module_only =
visibility must resolve to a module
1 change: 1 addition & 0 deletions compiler/rustc_error_messages/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ fluent_messages! {
plugin_impl => "../locales/en-US/plugin_impl.ftl",
privacy => "../locales/en-US/privacy.ftl",
query_system => "../locales/en-US/query_system.ftl",
resolve => "../locales/en-US/resolve.ftl",
save_analysis => "../locales/en-US/save_analysis.ftl",
session => "../locales/en-US/session.ftl",
symbol_mangling => "../locales/en-US/symbol_mangling.ftl",
Expand Down
6 changes: 6 additions & 0 deletions compiler/rustc_errors/src/diagnostic_impls.rs
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,12 @@ impl IntoDiagnosticArg for DiagnosticSymbolList {
}
}

impl<Id> IntoDiagnosticArg for hir::def::Res<Id> {
fn into_diagnostic_arg(self) -> DiagnosticArgValue<'static> {
DiagnosticArgValue::Str(Cow::Borrowed(self.descr()))
}
}

impl IntoDiagnostic<'_, !> for TargetDataLayoutErrors<'_> {
fn into_diagnostic(self, handler: &Handler) -> DiagnosticBuilder<'_, !> {
let mut diag;
Expand Down
Loading