Skip to content

Commit a2d0367

Browse files
committed
fix: HKTs can be prefixed with dyn
1 parent 4e573f2 commit a2d0367

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

grammar.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -859,6 +859,7 @@ module.exports = grammar({
859859
dynamic_type: $ => seq(
860860
'dyn',
861861
field('trait', choice(
862+
$.higher_ranked_trait_bound,
862863
$._type_identifier,
863864
$.scoped_type_identifier,
864865
$.generic_type,

test/corpus/declarations.txt

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1831,6 +1831,8 @@ Higher-ranked types
18311831
trait T: for<'a> AddAssign<&'a usize> {
18321832
}
18331833

1834+
type FnObject<'b> = dyn for<'a> FnLike<&'a isize, &'a isize> + 'b;
1835+
18341836
--------------------------------------------------------------------------------
18351837

18361838
(source_file
@@ -1848,7 +1850,31 @@ trait T: for<'a> AddAssign<&'a usize> {
18481850
(lifetime
18491851
(identifier))
18501852
(primitive_type))))))
1851-
(declaration_list)))
1853+
(declaration_list))
1854+
(type_item
1855+
(type_identifier)
1856+
(type_parameters
1857+
(lifetime
1858+
(identifier)))
1859+
(bounded_type
1860+
(dynamic_type
1861+
(higher_ranked_trait_bound
1862+
(type_parameters
1863+
(lifetime
1864+
(identifier)))
1865+
(generic_type
1866+
(type_identifier)
1867+
(type_arguments
1868+
(reference_type
1869+
(lifetime
1870+
(identifier))
1871+
(primitive_type))
1872+
(reference_type
1873+
(lifetime
1874+
(identifier))
1875+
(primitive_type))))))
1876+
(lifetime
1877+
(identifier)))))
18521878

18531879
================================================================================
18541880
Visibility modifiers

0 commit comments

Comments
 (0)