style: Use function pointer rather than Fn trait object for collect_property_completion_keywords.

Differential Revision: https://phabricator.services.mozilla.com/D2985
This commit is contained in:
Xidorn Quan 2018-08-09 13:49:47 +00:00 committed by Emilio Cobos Álvarez
parent c77ecd6984
commit f14a3edd7d
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C

View file

@ -603,16 +603,17 @@ impl NonCustomPropertyId {
/// See PropertyId::collect_property_completion_keywords.
fn collect_property_completion_keywords(&self, f: KeywordsCollectFn) {
const COLLECT_FUNCTIONS: [&Fn(KeywordsCollectFn);
fn do_nothing(_: KeywordsCollectFn) {}
const COLLECT_FUNCTIONS: [fn(KeywordsCollectFn);
${len(data.longhands) + len(data.shorthands)}] = [
% for prop in data.longhands:
&<${prop.specified_type()} as SpecifiedValueInfo>::collect_completion_keywords,
<${prop.specified_type()} as SpecifiedValueInfo>::collect_completion_keywords,
% endfor
% for prop in data.shorthands:
% if prop.name == "all":
&|_f| {}, // 'all' accepts no value other than CSS-wide keywords
do_nothing, // 'all' accepts no value other than CSS-wide keywords
% else:
&<shorthands::${prop.ident}::Longhands as SpecifiedValueInfo>::
<shorthands::${prop.ident}::Longhands as SpecifiedValueInfo>::
collect_completion_keywords,
% endif
% endfor