Skip to content

Commit

Permalink
Merge pull request #1213 from dtolnay/dynstar
Browse files Browse the repository at this point in the history
Parse dyn* syntax
  • Loading branch information
dtolnay committed Sep 18, 2022
2 parents eb0db05 + c6b2e5c commit caa54bd
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 10 deletions.
12 changes: 9 additions & 3 deletions src/ty.rs
Expand Up @@ -537,9 +537,15 @@ pub mod parsing {
|| lookahead.peek(Token![::])
|| lookahead.peek(Token![<])
{
if input.peek(Token![dyn]) {
let trait_object = TypeTraitObject::parse(input, allow_plus)?;
return Ok(Type::TraitObject(trait_object));
let dyn_token: Option<Token![dyn]> = input.parse()?;
if dyn_token.is_some() {
let star_token: Option<Token![*]> = input.parse()?;
let bounds = TypeTraitObject::parse_bounds(input, allow_plus)?;
return Ok(if star_token.is_some() {
Type::Verbatim(verbatim::between(begin, input))
} else {
Type::TraitObject(TypeTraitObject { dyn_token, bounds })
});
}

let ty: TypePath = input.parse()?;
Expand Down
7 changes: 0 additions & 7 deletions tests/repo/mod.rs
Expand Up @@ -14,13 +14,6 @@ const REVISION: &str = "98ad6a5519651af36e246c0335c964dd52c554ba";

#[rustfmt::skip]
static EXCLUDE_FILES: &[&str] = &[
// TODO: dyn*
"src/test/ui/dyn-star/const.rs",
"src/test/ui/dyn-star/drop.rs",
"src/test/ui/dyn-star/make-dyn-star.rs",
"src/test/ui/dyn-star/method.rs",
"src/test/ui/dyn-star/syntax.rs",

// TODO: Struct { #[attr] .. } in pattern position
"src/tools/rust-analyzer/crates/parser/test_data/parser/inline/ok/0102_record_pat_field_list.rs",

Expand Down

0 comments on commit caa54bd

Please sign in to comment.