Allow pattern-matching on bytearrays
- Doesn't allow pattern-matching on G1/G2 elements and strings,
because the use cases for those is unclear and it adds complexity to
the feature.
- We still _parse_ patterns on G1/G2 elements and strings, but emit an
error in those cases.
- The syntax is the same as for bytearray literals (i.e. supports hex,
utf-8 strings or plain arrays of bytes).
This commit is contained in:
@@ -22,19 +22,34 @@ pub struct Args {
|
||||
uplc: bool,
|
||||
|
||||
/// Filter traces to be included in the generated program(s).
|
||||
/// - user-defined: only consider traces that you've explicitly defined (either through the
|
||||
/// 'trace' keyword of via the trace-if-false ('?') operator.
|
||||
/// - compiler-generated: only included internal traces generated by the Aiken compiler, for
|
||||
/// example in usage of 'expect'.
|
||||
/// - all: include both user-defined and compiler-generated traces.
|
||||
///
|
||||
/// - user-defined:
|
||||
/// only consider traces that you've explicitly defined
|
||||
/// either through the 'trace' keyword of via the trace-if-false
|
||||
/// ('?') operator.
|
||||
///
|
||||
/// - compiler-generated:
|
||||
/// only included internal traces generated by the
|
||||
/// Aiken compiler, for example in usage of 'expect'.
|
||||
///
|
||||
/// - all:
|
||||
/// include both user-defined and compiler-generated traces.
|
||||
///
|
||||
/// [optional] [default: all]
|
||||
#[clap(short, long, value_parser=filter_traces_parser(), default_missing_value="all", verbatim_doc_comment)]
|
||||
filter_traces: Option<fn(TraceLevel) -> Tracing>,
|
||||
|
||||
/// Choose the verbosity level of traces:
|
||||
/// - silent: disable traces altogether
|
||||
/// - compact: only culprit line numbers are shown on failures
|
||||
/// - verbose: enable full verbose traces as provided by the user or the compiler
|
||||
///
|
||||
/// - silent:
|
||||
/// disable traces altogether
|
||||
///
|
||||
/// - compact:
|
||||
/// only culprit line numbers are shown on failures
|
||||
///
|
||||
/// - verbose:
|
||||
/// enable full verbose traces as provided by the user or the compiler
|
||||
///
|
||||
/// [optional]
|
||||
#[clap(short, long, value_parser=trace_level_parser(), default_value_t=TraceLevel::Silent, verbatim_doc_comment)]
|
||||
trace_level: TraceLevel,
|
||||
|
||||
@@ -48,20 +48,35 @@ pub struct Args {
|
||||
#[clap(short, long)]
|
||||
exact_match: bool,
|
||||
|
||||
/// Filter traces to be considered during testing:
|
||||
/// - user-defined: only consider traces that you've explicitly defined (either through the
|
||||
/// 'trace' keyword of via the trace-if-false ('?') operator.
|
||||
/// - compiler-generated: only included internal traces generated by the Aiken compiler, for
|
||||
/// example in usage of 'expect'.
|
||||
/// - all: include both user-defined and compiler-generated traces.
|
||||
/// Filter traces to be included in the generated program(s).
|
||||
///
|
||||
/// - user-defined:
|
||||
/// only consider traces that you've explicitly defined
|
||||
/// either through the 'trace' keyword of via the trace-if-false
|
||||
/// ('?') operator.
|
||||
///
|
||||
/// - compiler-generated:
|
||||
/// only included internal traces generated by the
|
||||
/// Aiken compiler, for example in usage of 'expect'.
|
||||
///
|
||||
/// - all:
|
||||
/// include both user-defined and compiler-generated traces.
|
||||
///
|
||||
/// [optional] [default: all]
|
||||
#[clap(short, long, value_parser=filter_traces_parser(), default_missing_value="all", verbatim_doc_comment)]
|
||||
filter_traces: Option<fn(TraceLevel) -> Tracing>,
|
||||
|
||||
/// Choose the verbosity level of traces:
|
||||
/// - silent: disable traces altogether
|
||||
/// - compact: only culprit line numbers are shown on failures
|
||||
/// - verbose: enable full verbose traces as provided by the user or the compiler
|
||||
///
|
||||
/// - silent:
|
||||
/// disable traces altogether
|
||||
///
|
||||
/// - compact:
|
||||
/// only culprit line numbers are shown on failures
|
||||
///
|
||||
/// - verbose:
|
||||
/// enable full verbose traces as provided by the user or the compiler
|
||||
///
|
||||
/// [optional]
|
||||
#[clap(short, long, value_parser=trace_level_parser(), default_value_t=TraceLevel::Verbose, verbatim_doc_comment)]
|
||||
trace_level: TraceLevel,
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
use std::path::PathBuf;
|
||||
|
||||
use super::build::{filter_traces_parser, trace_level_parser};
|
||||
use aiken_lang::ast::{TraceLevel, Tracing};
|
||||
use aiken_project::{options::Options, watch::with_project};
|
||||
|
||||
use super::build::{filter_traces_parser, trace_level_parser};
|
||||
use std::path::PathBuf;
|
||||
|
||||
#[derive(clap::Args)]
|
||||
pub struct Args {
|
||||
@@ -18,20 +16,35 @@ pub struct Args {
|
||||
#[clap(short, long)]
|
||||
name: String,
|
||||
|
||||
/// Filter traces to be considered during testing:
|
||||
/// - user-defined: only consider traces that you've explicitly defined (either through the
|
||||
/// 'trace' keyword of via the trace-if-false ('?') operator.
|
||||
/// - compiler-generated: only included internal traces generated by the Aiken compiler, for
|
||||
/// example in usage of 'expect'.
|
||||
/// - all: include both user-defined and compiler-generated traces.
|
||||
/// Filter traces to be included in the generated program(s).
|
||||
///
|
||||
/// - user-defined:
|
||||
/// only consider traces that you've explicitly defined
|
||||
/// either through the 'trace' keyword of via the trace-if-false
|
||||
/// ('?') operator.
|
||||
///
|
||||
/// - compiler-generated:
|
||||
/// only included internal traces generated by the
|
||||
/// Aiken compiler, for example in usage of 'expect'.
|
||||
///
|
||||
/// - all:
|
||||
/// include both user-defined and compiler-generated traces.
|
||||
///
|
||||
/// [optional] [default: all]
|
||||
#[clap(short, long, value_parser=filter_traces_parser(), default_missing_value="all", verbatim_doc_comment)]
|
||||
filter_traces: Option<fn(TraceLevel) -> Tracing>,
|
||||
|
||||
/// Choose the verbosity level of traces:
|
||||
/// - silent: disable traces altogether
|
||||
/// - compact: only culprit line numbers are shown on failures
|
||||
/// - verbose: enable full verbose traces as provided by the user or the compiler
|
||||
///
|
||||
/// - silent:
|
||||
/// disable traces altogether
|
||||
///
|
||||
/// - compact:
|
||||
/// only culprit line numbers are shown on failures
|
||||
///
|
||||
/// - verbose:
|
||||
/// enable full verbose traces as provided by the user or the compiler
|
||||
///
|
||||
/// [optional]
|
||||
#[clap(short, long, value_parser=trace_level_parser(), default_value_t=TraceLevel::Verbose, verbatim_doc_comment)]
|
||||
trace_level: TraceLevel,
|
||||
|
||||
Reference in New Issue
Block a user