Trait wast::parser::Peek

source ·
pub trait Peek {
    // Required methods
    fn peek(cursor: Cursor<'_>) -> Result<bool>;
    fn display() -> &'static str;

    // Provided method
    fn peek2(cursor: Cursor<'_>) -> Result<bool> { ... }
}
Expand description

A trait for types which be used to “peek” to see if they’re the next token in an input stream of Parser.

Often when implementing Parse you’ll need to query what the next token in the stream is to figure out what to parse next. This Peek trait defines the set of types that can be tested whether they’re the next token in the input stream.

Implementations of Peek should only be present on types that consume exactly one token (not zero, not more, exactly one). Types implementing Peek should also typically implement Parse should also typically implement Parse.

See the documentation of Parser::peek for example usage.

Required Methods§

source

fn peek(cursor: Cursor<'_>) -> Result<bool>

Tests to see whether this token is the first token within the Cursor specified.

Returns true if Parse for this type is highly likely to succeed failing no other error conditions happening (like an integer literal being too big).

source

fn display() -> &'static str

Returns a human-readable name of this token to display when generating errors about this token missing.

Provided Methods§

source

fn peek2(cursor: Cursor<'_>) -> Result<bool>

The same as peek, except it checks the token immediately following the current token.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Peek for &str

source§

fn peek(cursor: Cursor<'_>) -> Result<bool>

source§

fn display() -> &'static str

source§

impl Peek for &[u8]

source§

fn peek(cursor: Cursor<'_>) -> Result<bool>

source§

fn display() -> &'static str

source§

impl Peek for i8

source§

fn peek(cursor: Cursor<'_>) -> Result<bool>

source§

fn display() -> &'static str

source§

impl Peek for i16

source§

fn peek(cursor: Cursor<'_>) -> Result<bool>

source§

fn display() -> &'static str

source§

impl Peek for i32

source§

fn peek(cursor: Cursor<'_>) -> Result<bool>

source§

fn display() -> &'static str

source§

impl Peek for i64

source§

fn peek(cursor: Cursor<'_>) -> Result<bool>

source§

fn display() -> &'static str

source§

impl Peek for u8

source§

fn peek(cursor: Cursor<'_>) -> Result<bool>

source§

fn display() -> &'static str

source§

impl Peek for u16

source§

fn peek(cursor: Cursor<'_>) -> Result<bool>

source§

fn display() -> &'static str

source§

impl Peek for u32

source§

fn peek(cursor: Cursor<'_>) -> Result<bool>

source§

fn display() -> &'static str

source§

impl Peek for u64

source§

fn peek(cursor: Cursor<'_>) -> Result<bool>

source§

fn display() -> &'static str

Implementors§

source§

impl Peek for ComponentDefinedType<'_>

source§

impl Peek for ComponentExportKind<'_>

source§

impl Peek for ComponentValType<'_>

source§

impl Peek for PrimitiveValType

source§

impl Peek for WastVal<'_>

source§

impl Peek for ExportKind

source§

impl Peek for WastArgCore<'_>

source§

impl Peek for WastRetCore<'_>

source§

impl Peek for Index<'_>

source§

impl Peek for custom

source§

impl Peek for metadata_code_branch_hint

source§

impl Peek for name

source§

impl Peek for producers

source§

impl Peek for wast::component::InlineExport<'_>

source§

impl Peek for wast::component::InlineImport<'_>

source§

impl Peek for wast::core::InlineExport<'_>

source§

impl Peek for wast::core::InlineImport<'_>

source§

impl Peek for acq_rel

source§

impl Peek for after

source§

impl Peek for alias

source§

impl Peek for any

source§

impl Peek for anyref

source§

impl Peek for arg

source§

impl Peek for array

source§

impl Peek for arrayref

source§

impl Peek for assert_exception

source§

impl Peek for assert_exhaustion

source§

impl Peek for assert_invalid

source§

impl Peek for assert_malformed

source§

impl Peek for assert_return

source§

impl Peek for assert_trap

source§

impl Peek for assert_unlinkable

source§

impl Peek for before

source§

impl Peek for binary

source§

impl Peek for block

source§

impl Peek for bool_

source§

impl Peek for borrow

source§

impl Peek for canon

source§

impl Peek for case

source§

impl Peek for catch

source§

impl Peek for catch_all

source§

impl Peek for catch_all_ref

source§

impl Peek for catch_ref

source§

impl Peek for char

source§

impl Peek for code

source§

impl Peek for component

source§

impl Peek for core

source§

impl Peek for data

source§

impl Peek for declare

source§

impl Peek for delegate

source§

impl Peek for do

source§

impl Peek for dtor

source§

impl Peek for elem

source§

impl Peek for else

source§

impl Peek for end

source§

impl Peek for enum_

source§

impl Peek for eq

source§

impl Peek for eqref

source§

impl Peek for error

source§

impl Peek for exn

source§

impl Peek for exnref

source§

impl Peek for export

source§

impl Peek for export_info

source§

impl Peek for extern

source§

impl Peek for externref

source§

impl Peek for f32

source§

impl Peek for f32x4

source§

impl Peek for f64

source§

impl Peek for f64x2

source§

impl Peek for false_

source§

impl Peek for field

source§

impl Peek for final

source§

impl Peek for first

source§

impl Peek for flags

source§

impl Peek for float32

source§

impl Peek for float64

source§

impl Peek for func

source§

impl Peek for funcref

source§

impl Peek for get

source§

impl Peek for global

source§

impl Peek for i8

source§

impl Peek for i8x16

source§

impl Peek for i16

source§

impl Peek for i16x8

source§

impl Peek for i31

source§

impl Peek for i31ref

source§

impl Peek for i32

source§

impl Peek for i32x4

source§

impl Peek for i64

source§

impl Peek for i64x2

source§

impl Peek for if

source§

impl Peek for import

source§

impl Peek for import_info

source§

impl Peek for instance

source§

impl Peek for instantiate

source§

impl Peek for interface

source§

impl Peek for invoke

source§

impl Peek for item

source§

impl Peek for language

source§

impl Peek for last

source§

impl Peek for lift

source§

impl Peek for list

source§

impl Peek for local

source§

impl Peek for loop

source§

impl Peek for lower

source§

impl Peek for mem_info

source§

impl Peek for memory

source§

impl Peek for module

source§

impl Peek for modulecode

source§

impl Peek for mut

source§

impl Peek for nan_arithmetic

source§

impl Peek for nan_canonical

source§

impl Peek for needed

source§

impl Peek for noexn

source§

impl Peek for noextern

source§

impl Peek for nofunc

source§

impl Peek for none

source§

impl Peek for null

source§

impl Peek for nullexnref

source§

impl Peek for nullexternref

source§

impl Peek for nullfuncref

source§

impl Peek for nullref

source§

impl Peek for offset

source§

impl Peek for option

source§

impl Peek for outer

source§

impl Peek for own

source§

impl Peek for pagesize

source§

impl Peek for param

source§

impl Peek for parent

source§

impl Peek for passive

source§

impl Peek for post_return

source§

impl Peek for processed_by

source§

impl Peek for quote

source§

impl Peek for realloc

source§

impl Peek for rec

source§

impl Peek for record

source§

impl Peek for ref

source§

impl Peek for ref_func

source§

impl Peek for ref_null

source§

impl Peek for refines

source§

impl Peek for register

source§

impl Peek for rep

source§

impl Peek for resource

source§

impl Peek for resource_drop

source§

impl Peek for resource_new

source§

impl Peek for resource_rep

source§

impl Peek for result

source§

impl Peek for s8

source§

impl Peek for s16

source§

impl Peek for s32

source§

impl Peek for s64

source§

impl Peek for sdk

source§

impl Peek for seq_cst

source§

impl Peek for shared

source§

impl Peek for start

source§

impl Peek for string

source§

impl Peek for string_latin1_utf16

source§

impl Peek for string_utf8

source§

impl Peek for string_utf16

source§

impl Peek for struct

source§

impl Peek for structref

source§

impl Peek for sub

source§

impl Peek for table

source§

impl Peek for tag

source§

impl Peek for then

source§

impl Peek for thread

source§

impl Peek for true_

source§

impl Peek for try

source§

impl Peek for tuple

source§

impl Peek for type

source§

impl Peek for u8

source§

impl Peek for u16

source§

impl Peek for u32

source§

impl Peek for u64

source§

impl Peek for v128

source§

impl Peek for value

source§

impl Peek for variant

source§

impl Peek for wait

source§

impl Peek for with

source§

impl Peek for Id<'_>

source§

impl Peek for LParen

source§

impl Peek for RParen

source§

impl<'a> Peek for HeapType<'a>

source§

impl<'a> Peek for ValType<'a>

source§

impl<'a> Peek for FunctionType<'a>

source§

impl<'a> Peek for FunctionTypeNoNames<'a>

source§

impl<'a> Peek for RefType<'a>

source§

impl<'a> Peek for Type<'a>

source§

impl<'a, K: Peek> Peek for CoreItemRef<'a, K>

source§

impl<'a, K: Peek> Peek for wast::component::ItemRef<'a, K>

source§

impl<'a, K: Peek> Peek for wast::token::ItemRef<'a, K>