Open-source compiler for the Papyrus scripting language of Bethesda games.

Overview

Open Papyrus Compiler

This project is still WORK IN PROGRESS. If you have any feature requests, head over to the Issues tab and describe your needs. You can try the current version of the compiler with the Compiler Explorer website however that is also still very much work in progress.

Documentation

The entire documentation is available here.

Contributing

See CONTRIBUTING for more information.

Credits and Resources

License

MIT, see LICENSE for more information.

Comments
  • Useful resource

    Useful resource

    Here's an additional resource you might find useful: https://github.com/cadpnq/papyrith. The aforementioned repository is a Papyrus compiler written in Common Lisp.

    documentation 
    opened by MrOctopus 2
  • Update Rust crate clap to v4

    Update Rust crate clap to v4

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | clap | dependencies | major | 3.2.12 -> 4.0.26 |


    Release Notes

    clap-rs/clap

    v4.0.26

    Compare Source

    Fixes
    • (error) Fix typos in ContextKind::as_str

    v4.0.25

    Compare Source

    Features
    • (error) Report available subcommands when required subcommand is missing

    v4.0.24

    Compare Source

    Fixes
    • Avoid panic when printing an argument that isn't built

    v4.0.23

    Compare Source

    Fixes
    • Don't panic on reporting invalid-long errors when followed by invalid UTF8
    • (help) Clarified argument to help subcommand

    v4.0.22

    Compare Source

    Fixes
    • (help) Don't overflow into next-line-help early due to stale (pre-v4) padding calculations

    v4.0.21

    Compare Source

    Features
    • (derive) long_about and long_help attributes, without a value, force using doc comment (before it wouldn't be set if there wasn't anything different than the short help)

    v4.0.20

    Compare Source

    Fixes
    • (derive) Allow defaulted value parser for '()' fields

    v4.0.19

    Compare Source

    Features
    • ColorChoice now implements ValueEnum

    v4.0.18

    Compare Source

    Fixes
    • (derive) Allow #[command(skip)] to also work with enum variants with a value

    v4.0.17

    Compare Source

    Fixes
    • Allow using Arg::last(true) with Arg::value_hint(ValueHint::CommandWithArguments)

    v4.0.16

    Compare Source

    Fixes
    • Arg::exclusive(true) should not be exclusive with the argument's own ArgGroup

    v4.0.15

    Compare Source

    Fixes
    • (error) Don't suggest -- when it doesn't help
    • (error) Be more consistent in quoting, punctuation, and indentation in errors

    v4.0.14

    Compare Source

    Fixes
    • Only put ArgGroup in ArgMatches when explicitly specified, fixing derives handling of option-flattened fields (#​4375)

    v4.0.13

    Compare Source

    Features
    • (derive) Allow () for fields to mean "don't read" (#​4371)

    v4.0.12

    Compare Source

    Features
    • Added TypedValueParser::try_map for when adapting an existing TypedValueParser can fail
    • (error) Create errors like clap with Error::new, Error::with_cmd, and Error::insert

    v4.0.11

    Compare Source

    Fixes
    • (help) Fix wrapping calculations with ANSI escape codes

    v4.0.10

    Compare Source

    Features

    v4.0.9

    Compare Source

    Fixes
    • (derive) Process doc comments for #[command(subcommand)] like in clap v3

    v4.0.8

    Compare Source

    Fixes
    • (derive) Remove a low-value assert preventing defaulting Help and Version actions

    v4.0.7

    Compare Source

    Features
    • (derive) Populate implicit ArgGroup (#​3165)
    Fixes
    • (derive) Support #[group(skip)] on Parser derive
    • (derive) Tell users about implicit arg groups when running into group name conflicts
    • (error) Don't report unrelated groups in conflict or requires errors

    v4.0.6

    Compare Source

    Features

    v4.0.5

    Compare Source

    v4.0.4

    Compare Source

    Fixes
    • (error) Specialize the self-conflict error to look like clap v3

    v4.0.3

    Compare Source

    Fixes
    • (error) Quote literals consistently
    • (error) Stylize escape (--) suggestions
    • (error) Format help flag as a literal

    v4.0.2

    Compare Source

    Fixes
    • (error) Fix typos in ContextKind::as_str

    v4.0.1

    Compare Source

    Features
    • ColorChoice now implements ValueEnum

    v4.0.0

    Compare Source

    Highlights

    Arg::num_args(range)

    Clap has had several ways for controlling how many values will be captured without always being clear on how they interacted, including

    • Arg::multiple_values(true)
    • Arg::number_of_values(4)
    • Arg::min_values(2)
    • Arg::max_values(20)
    • Arg::takes_value(true)

    These have now all been collapsed into Arg::num_args which accepts both single values and ranges of values. num_args controls how many raw arguments on the command line will be captured as values per occurrence and independent of value delimiters.

    See Issue 2688 for more background.

    Polishing Help

    Clap strives to give a polished CLI experience out of the box with little ceremony. With some feedback that has accumulated over time, we took this release as an opportunity to re-evaluate our --help output to make sure it is meeting that goal.

    In doing this evaluation, we wanted to keep in mind:

    • Whether other CLIs had ideas that make sense to apply
    • Providing an experience that fits within the rest of applications and works across all shells

    Before:

    git
    A fictional versioning CLI
    
    USAGE:
        git <SUBCOMMAND>
    
    OPTIONS:
        -h, --help    Print help information
    
    SUBCOMMANDS:
        add      adds things
        clone    Clones repos
        help     Print this message or the help of the given subcommand(s)
        push     pushes things
        stash
    

    After:

    A fictional versioning CLI
    
    Usage: git <COMMAND>
    
    Commands:
      clone  Clones repos
      push   pushes things
      add    adds things
      stash
      help   Print this message or the help of the given subcommand(s)
    
    Options:
      -h, --help  Print help information
    
    • name/version header was removed because we couldn't justify the space it occupied when
      • Usage already includes the name
      • --version is available for showing the same thing (if the program has a version set)
    • Usage was dropped to one line to save space
    • Focus is put on the subcommands
    • Headings are now Title case
    • The more general term "command" is used rather than being explicit about being "subcommands"
    • The output is more dense with the expectation that it won't affect legibility but will allow more content
    • We've moved to a more neutral palette for highlighting elements (not highlighted above)

    In talking to users, we found some that liked clap's man-like experience. When deviating from this, we are making the assumption that those are more power users and that the majority of users wouldn't look as favorably on being consistent with man.

    See Issue 4132 for more background.

    More Dynamicism

    Clap's API has focused on &str for performance but this can make dealing with owned data difficult, like #[arg(default_value_t)] generating a String from the default value.

    Additionally, to avoid ArgMatches from borrowing (and for some features we decided to forgo), clap took the &str argument IDs and hashed them. This prevented us from providing a usable API for iterating over existing arguments.

    Now clap has switched to a string newtype that gives us the flexibility to decide whether to use &'static str, Cow<'static, str> for fast dynamic behavior, or Box<str> for dynamic behavior with small binary size.

    As an extension of that work, you can now call ArgMatches::ids to iterate over the arguments and groups that were found when parsing. The newtype Id was used to prevent some classes of bugs and to make it easier to understand when opaque Ids are used vs user-visible strings.

    Clearing Out Deprecations

    Instead of doing all development on clap 4.0.0, we implemented a lot of new features during clap 3's development, deprecating the old API while introducing the new API, including:

    • Replacing the implicit behavior for args when parsing them with ArgAction
    • Replacing various one-off forms of value validation with the ValueParser API
      • Allowing derives to automatically do the right thing for PathBuf (allowing invalid UTF-8)
    • Replacing AppSettings and ArgSettings enums with getters/setters
    • Clarifying terms and making them more consistent
    Migrating

    Steps:

    1. Upgrade to v3 if you haven't already
    2. Add CLI tests (including example below), -h and --help output at a minimum (recommendation: trycmd for snapshot testing)
    3. If using Builder API: Explicitly set the arg.action(ArgAction::...) on each argument (StoreValue for options and IncOccurrences for flags)
    4. Run cargo check --features clap/deprecated and resolve all deprecation warnings
    5. Upgrade to v4
    6. Update feature flags
    • If default-features = false, run cargo add clap -F help,usage,error-context
    • Run cargo add clap -F wrap_help unless you want to hard code line wraps
    1. Resolve compiler errors
    2. Resolve behavior changes (see "subtle changes" under BREAKING CHANGES)
    3. At your leisure: resolve new deprecation notices

    Example test (derive):

    
    #[derive(clap::Parser)]
    struct Cli {
        ...
    }
    
    #[test]
    fn verify_cli() {
        use clap::CommandFactory;
        Cli::command().debug_assert()
    }
    

    Example test (builder):

    fn cli() -> clap::Command {
        ...
    }
    
    #[test]
    fn verify_cli() {
        cli().debug_assert();
    }
    

    Note: the idiomatic / recommended way of specifying different types of args in the Builder API has changed:

    Before

    .arg(Arg::new("flag").long("flag"))  # --flag
    .arg(Arg::new("option").long("option").takes_value(true))  # --option <option>
    

    After:

    .arg(Arg::new("flag").long("flag").action(ArgAction::SetTrue))  # --flag
    .arg(Arg::new("option").long("option"))  # --option <option>
    

    In particular, num_args (the replacement for takes_value) will default appropriately from the ArgAction and generally only needs to be set explicitly for the other num_args use cases.

    Breaking Changes

    Subtle changes (i.e. compiler won't catch):

    • arg! now sets one of (#​3795):
      • ArgAction::SetTrue, requiring ArgMatches::get_flag instead of ArgMatches::is_present
      • ArgAction::Count, requiring ArgMatches::get_count instead of ArgMatches::occurrences_of
      • ArgAction::Set, requiring ArgMatches::get_one instead of ArgMatches::value_of
      • ArgAction::Append, requiring ArgMatches::get_many instead of ArgMatches::values_of
    • ArgAction::Set, ArgAction::SetTrue, and Arg::Action::SetFalse now conflict by default to be like ArgAction::StoreValue and ArgAction::IncOccurrences, requiring cmd.args_override_self(true) to override instead (#​4261)
    • By default, an Args default action is ArgAction::Set, rather than ArgAction::IncOccurrence to reduce confusing magic through consistency (#​2687, #​4032, see also #​3977)
    • mut_arg can no longer be used to customize help and version arguments, instead disable them (Command::disable_help_flag, Command::disable_version_flag) and provide your own (#​4056)
    • Removed lifetimes from Command, Arg, ArgGroup, and PossibleValue, assuming 'static. string feature flag will enable support for Strings (#​1041, #​2150, #​4223)
    • arg!(--flag <value>) is now optional, instead of required. Add .required(true) at the end to restore the original behavior (#​4206)
    • Added default feature flags, help, usage and error-context, requiring adding them back in if default-features = false (#​4236)
    • (parser) Always fill in "" argument for external subcommands to make it easier to distinguish them from built-in commands (#​3263)
    • (parser) Short flags now have higher precedence than hyphen values with Arg::allow_hyphen_values, to be consistent with Command::allow_hyphen_values (#​4187)
    • (parser) Arg::value_terminator must be its own argument on the CLI rather than being in a delimited list (#​4025)
    • (help) Line wrapping of help is now behind the existing wrap_help feature flag, either enable it or hard code your wraps (#​4258)
    • (help) Make DeriveDisplayOrder the default and removed the setting. To sort help, set next_display_order(None) (#​2808)
    • (help) Subcommand display order respects Command::next_display_order instead of DeriveDisplayOrder and using its own initial display order value (#​2808)
    • (help) Subcommands are now listed before arguments. To get the old behavior, see Command::help_template (#​4132)
    • (help) Help headings are now title cased, making any user-provided help headings inconsistent. To get the old behavior, see Command::help_template, Arg::help_heading, and Command::subcommand_help_heading (#​4132)
    • (help) "Command" is used as the section heading for subcommands and COMMAND for the value name. To get the old behavior, see Command::subcommand_help_heading and Arg::subcommand_value_name (#​4132, #​4155)
    • (help) Whitespace in help output is now trimmed to ensure consistency regardless of how well a template matches the users needs. (#​4132, #​4156)
    • (help) name/version/author are removed by default from help output. To get the old behavior, see Command::help_template. (#​4132, #​4160)
    • (help) Indentation for second-line usage changed. (#​4132, #​4188)
    • (env) Parse --help and --version like any ArgAction::SetTrue flag (#​3776)
    • (derive) Leave Arg::id as verbatim casing, requiring updating of string references to other args like in conflicts_with or requires (#​3282)
    • (derive) Doc comments for ValueEnum variants will now show up in --help (#​3312)
    • (derive) When deriving Args, and ArgGroup is created using the type's name, reserving it for future use (#​2621, #​4209)
    • (derive) next_help_heading can now leak out of a #[clap(flatten)], like all other command settings (#​4222)

    Easier to catch changes:

    • Looking up a group in ArgMatches now returns the arg Ids, rather than the values to reduce overhead and offer more flexibility. (#​4072)
    • Changed Arg::number_of_values (average-across-occurrences) to Arg::num_args (per-occurrence) (raw CLI args, not parsed values) (#​2688, #​4023)
      • num_args(0) no longer implies takes_value(true).multiple_values(true) (#​4023)
      • num_args(1) no longer implies multiple_values(true) (#​4023)
      • Does not check default or env values, only what the user explicitly passes in (#​4025)
      • No longer terminates on delimited values (#​4025)
    • Replace Arg::min_values (across all occurrences) with Arg::num_args(N..) (per occurrence) to reduce confusion over different value count APIs (#​4023)
    • Replace Arg::max_values (across all occurrences) with Arg::num_args(1..=M) (per occurrence) to reduce confusion over different value count APIs (#​4023)
    • Replace Arg::multiple_values(true) with Arg::num_args(1..) and Arg::multiple_values(false) with Arg::num_args(0) to reduce confusion over different value count APIs (#​4023)
    • Replace Arg::takes_value(true) with Arg::num_args(1) and Arg::takes_value(false) with Arg::num_args(0) to reduce confusion over different value count APIs
    • Remove Arg::require_value_delimiter, either users could use Arg::value_delimiter or implement a custom parser with TypedValueParser as it was mostly to make multiple_values(true) act like multiple_values(false) and isn't needed anymore (#​4026)
    • Arg::new("help") and Arg::new("version") no longer implicitly disable the built-in flags and be copied to all subcommands, instead disable the built-in flags (Command::disable_help_flag, Command::disable_version_flag) and mark the custom flags as global(true). (#​4056)
    • Arg::short('h') no longer implicitly disables the short flag for help, instead disable the built-in flags (Command::disable_help_flag, Command::disable_version_flag) provide your own Arg::new("help").long("help").action(ArgAction::Help).global(true). (#​4056)
    • ArgAction::SetTrue and ArgAction::SetFalse now prioritize Arg::default_missing_value over their standard behavior (#​4000)
    • Changed Arg::requires_ifs and Arg::default_value*_ifs* to taking an ArgPredicate, removing ambiguity with None when accepting owned and borrowed types (#​4084)
    • Removed PartialEq and Eq from Command so we could change external subcommands to use a ValueParser (#​3990)
    • Various Arg, Command, and ArgGroup calls were switched from accepting &[] to [] via IntoIterator to be more flexible (#​4072)
    • Arg::short_aliases and other builder functions that took &[] need the & dropped (#​4081)
    • ErrorKind and Result moved into the error module
    • ErrorKind::EmptyValue replaced with ErrorKind::InvalidValue to remove an unnecessary special case (#​3676, #​3968)
    • ErrorKind::UnrecognizedSubcommand replaced with ErrorKind::InvalidSubcommand to remove an unnecessary special case (#​3676)
    • Changed the default type of allow_external_subcommands from String to OsString as that is less likely to cause bugs in user applications (#​3990)
    • (help) Command::render_usage now returns a StyledStr (#​4248)
    • (derive) Changed the default for arguments from parse to value_parser, removing parse support (#​3827, #​3981)
      • #[clap(value_parser)] and #[clap(action)] are now redundant
    • (derive) subcommand_required(true).arg_required_else_help(true) is set instead of SubcommandRequiredElseHelp to give more meaningful errors when subcommands are missing and to reduce redundancy (#​3280)
    • (derive) Remove arg_enum attribute in favor of value_enum to match the new name (we didn't have support in v3 to mark it deprecated) (#​4127)
    • (parser) Assert when the CLI looksup an unknown args when external subcommand support is enabled to help catch bugs (#​3703)
    • (assert) Sometimes Arg::default_missing_value didn't require num_args(0..=N), now it does (#​4023)
    • (assert) Leading dashes in Arg::long are no longer allowed (#​3691)
    • (assert) Disallow more value_names than num_args (#​2695)
    • (assert) Always enforce that version is specified when the ArgAction::Version is used
    • (assert) Add missing #[track_caller]s to make it easier to debug asserts
    • (assert) Ensure overrides_with IDs are valid
    • (assert) Ensure no self-overrides_with now that Actions replace it
    • (assert) Ensure subcommand names are not duplicated
    • (assert) Assert on mut_arg receiving an invalid arg ID or mut_subcommand receiving an invalid command name
    Compatibility

    MSRV is now 1.60.0

    Deprecated

    • Arg::use_value_delimiter in favor of Arg::value_delimiter to avoid having multiple ways of doing the same thing
    • Arg::requires_all in favor of Arg::requires_ifs now that it takes an ArgPredicate to avoid having multiple ways of doing the same thing
    • Arg::number_of_values in favor of Arg::num_args to clarify semantic differences
    • default_value_os, default_values_os, default_value_if_os, and default_value_ifs_os as the non _os variants now accept either a str or an OsStr (#​4141)
    • Arg::env_os in favor of Arg::env
    • Command::dont_collapse_args_in_usage is now the default (#​4151)
    • Command::trailing_var_arg in favor of Arg::trailing_var_arg to make it clearer which arg it is meant to apply to (#​4187)
    • Command::allow_hyphen_values in favor of Arg::allow_hyphen_values to make it clearer which arg it is meant to apply to (#​4187)
    • Command::allow_negative_numbers in favor of Arg::allow_negative_numbers to make it clearer which arg it is meant to apply to (#​4187)
    • (help) Deprecated Command::write_help and Command::write_long_help in favor of Command::render_help and Command::render_long_help (#​4248)
    • (derive) structopt and clap attributes in favor of the more specific command, arg, and value to open the door for more features and clarify relationship to the builder (#​1807, #​4180)
    • (derive) #[clap(value_parser)] and #[clap(action)] defaulted attributes (its the default) (#​3976)

    Behavior Changes

    • (help) With wrap_help feature, if the terminal size cannot be determined, LINES and COLUMNS variables are used (#​4186)
    Features
    • Arg::num_args now accepts ranges, allowing setting both the minimum and maximum number of values per occurrence (#​2688, #​4023)
    • Allow non-bool value_parsers for ArgAction::SetTrue / ArgAction::SetFalse (#​4092)
    • Add From<&OsStr>, From<OsString>, From<&str>, and From<String> to value_parser! (#​4257)
    • Allow resetting most builder methods
    • Can now pass runtime generated data to Command, Arg, ArgGroup, PossibleValue, etc without managing lifetimes with the string feature flag (#​2150, #​4223)
    • New default error-context, help and usage feature flags that can be turned off for smaller binaries (#​4236)
    • Added StyledStr::ansi() to Display with ANSI escape codes (#​4248)
    • (error) Error::apply for changing the formatter for dropping binary size (#​4111)
    • (error) Error::renderfor formatting the error into a StyledStr
    • (help) Show PossibleValue::help in long help (--help) (#​3312)
    • (help) New {tab} variable for Command::help_template (#​4161)
    • (help) Command::render_help and Command::render_long_help for formatting the error into a StyledStr (#​3873, #​4248)
    • (help) Command::render_usage now returns a StyledStr (#​4248)
    Fixes
    • Verify required is not used with conditional required settings (#​3660)
    • Replaced cmd.allow_invalid_for_utf8_external_subcommands with cmd.external_subcommand_value_parser (#​3733)
    • Arg::default_missing_value now applies per occurrence rather than if a value is missing across all occurrences (#​3998)
    • arg!(--long [value]) to accept 0..=1 per occurrence rather than across all occurrences, making it safe to use with ArgAction::Append (#​4001)
    • Allow OsStrs for Arg::{required_if_eq,required_if_eq_any,required_if_eq_all} (#​4084)
    • (help) With wrap_help feature, if the terminal size cannot be determined, LINES and COLUMNS variables are used (#​4186)
    • (help) Use Command::display_name in the help title rather than Command::bin_name
    • (help) Show when a flag is ArgAction::Count by adding an ... (#​4003)
    • (help) Use a more neutral palette for coloring (#​4132, #​4117)
    • (help) Don't rely on ALL CAPS for help headers (#​4132, #​4123)
    • (help) List subcommands first, focusing the emphasis on them (#​4132, #​4125)
    • (help) Do not include global args in cmd help help (#​4131)
    • (help) Use [positional] in list when relevant (#​4144)
    • (help) Show all [positional] in usage (#​4151)
    • (help) Polish up subcommands by referring to them as commands (#​4132, #​4155)
    • (help) Trim extra whitespace to avoid artifacts from different uses of templates (#​4132, #​4156)
    • (help) Hint to the user the difference between -h / --help when applicable (#​4132, #​4159)
    • (help) Shorten help by eliding name/version/author (#​4132, #​4160)
    • (help) When short help is long enough to activate next_line_help, don't add blank lines (#​4132, #​4190)
    • (help) Make help output more dense (reducing horizontal whitespace) (#​4132, #​4192)
    • (help) Separate subcommand flags with "," like option flags (#​4232, #​4235)
    • (help) Quote the suggested help flag (#​4220)
    • (version) Use Command::display_name rather than Command::bin_name (#​3966)
    • (parser) Always fill in "" argument for external subcommands (#​3263)
    • (parser) Short flags now have higher precedence than hyphen values with Arg::allow_hyphen_values, like Command::allow_hyphen_values (#​4187)
    • (parser) Prefer InvalidSubcommand over UnknownArgument in more cases (#​4219)
    • (derive) Detect escaped external subcommands that look like built-in subcommands (#​3703)
    • (derive) Leave Arg::id as verbatim casing (#​3282)
    • (derive) Default to #[clap(value_parser, action)] instead of #[clap(parse)] (#​3827)

    v3.2.23

    Compare Source

    [3.2.23] - 2022-10-24

    Fixes
    • Upgrade to textwrap 0.16

    v3.2.22

    Compare Source

    [3.2.22] - 2022-09-16

    Fixes
    • Unify dependencies on terminal_size to the 0.2 release

    v3.2.21

    Compare Source

    [3.2.21] - 2022-09-12

    Features
    • TypedValueParser::map to allow reusing existing value parsers for other purposes

    v3.2.20

    Compare Source

    [3.2.20] - 2022-09-02

    Features
    • ArgMatches::get_count help for ArgAction::Count
    • ArgMatches::get_flag help for ArgAction::SetTrue / ArgAction::SetFalse

    v3.2.19

    Compare Source

    [3.2.19] - 2022-08-30

    Fixes
    • (help) Ensure required arguments for parent commands aren't shown in their subcommands when using args_conflicts_with_subcommand

    v3.2.18

    Compare Source

    Fixes
    • (help) Command::print_help now respects Command::colored_help
    • (derive) Improved error messages

    v3.2.17

    Compare Source

    Fixes
    • (derive) Expose #[clap(id = ...)] attribute to match Arg's latest API

    v3.2.16

    Compare Source

    Fixes
    • Ensure required arguments appear in errors when they are also members of a group (#​4004)

    v3.2.15

    Compare Source

    Features
    • (derive) New default_values_t and default_values_os_t attributes

    v3.2.14

    Compare Source

    Fixes
    • A multiple_values positional followed by another positional now works with multiple flags

    v3.2.13

    Compare Source

    Documentation
    • Pulled in tutorials, cookbook, and derive reference into rustdoc

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 1
  • Update Rust crate clap to 3.2.23

    Update Rust crate clap to 3.2.23

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | clap | dependencies | patch | 3.2.12 -> 3.2.23 |


    Release Notes

    clap-rs/clap

    v3.2.23

    Compare Source

    [3.2.23] - 2022-10-24
    Fixes
    • Upgrade to textwrap 0.16

    v3.2.22

    Compare Source

    [3.2.22] - 2022-09-16
    Fixes
    • Unify dependencies on terminal_size to the 0.2 release

    v3.2.21

    Compare Source

    [3.2.21] - 2022-09-12

    Features
    • TypedValueParser::map to allow reusing existing value parsers for other purposes

    v3.2.20

    Compare Source

    [3.2.20] - 2022-09-02

    Features
    • ArgMatches::get_count help for ArgAction::Count
    • ArgMatches::get_flag help for ArgAction::SetTrue / ArgAction::SetFalse

    v3.2.19

    Compare Source

    [3.2.19] - 2022-08-30
    Fixes
    • (help) Ensure required arguments for parent commands aren't shown in their subcommands when using args_conflicts_with_subcommand

    v3.2.18

    Compare Source

    Fixes
    • (help) Command::print_help now respects Command::colored_help
    • (derive) Improved error messages

    v3.2.17

    Compare Source

    Fixes
    • (derive) Expose #[clap(id = ...)] attribute to match Arg's latest API

    v3.2.16

    Compare Source

    Fixes
    • Ensure required arguments appear in errors when they are also members of a group (#​4004)

    v3.2.15

    Compare Source

    Features
    • (derive) New default_values_t and default_values_os_t attributes

    v3.2.14

    Compare Source

    Fixes
    • A multiple_values positional followed by another positional now works with multiple flags

    v3.2.13

    Compare Source

    Documentation
    • Pulled in tutorials, cookbook, and derive reference into rustdoc

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [x] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 1
  • Const arrays/improve read only arrays

    Const arrays/improve read only arrays

    Currently, the following papyrus code would be accepted:

    ; Script A
    int[] _arr
    int[] Property arr
      int[] Function Get()
        return _arr
      EndFunction
    EndProperty
    
    ; Script B
    Function fun()
      A.arr = new int[3] ; <- This fails because the array is read only
      A.arr[0] = 0              ; <- This however would be accepted
    EndFunction
    

    I believe that A.arr[0] here would edit _arr in its first position and set 0 there, since arrays are handled by reference. Wouldn't bet on it, but either way, what's the point of a read-only array if I can still edit its values?

    If a caller would want a copy of the requested array to edit from here on out, it should be explicitly stated so.

    enhancement 
    opened by Scrabx3 1
  • Bump clap from 3.2.12 to 3.2.23

    Bump clap from 3.2.12 to 3.2.23

    Bumps clap from 3.2.12 to 3.2.23.

    Release notes

    Sourced from clap's releases.

    v3.2.23

    [3.2.23] - 2022-10-24

    Fixes

    • Upgrade to textwrap 0.16

    v3.2.22

    [3.2.22] - 2022-09-16

    Fixes

    • Unify dependencies on terminal_size to the 0.2 release

    v3.2.21

    [3.2.21] - 2022-09-12

    Features

    • TypedValueParser::map to allow reusing existing value parsers for other purposes

    v3.2.20

    [3.2.20] - 2022-09-02

    Features

    • ArgMatches::get_count help for ArgAction::Count
    • ArgMatches::get_flag help for ArgAction::SetTrue / ArgAction::SetFalse

    v3.2.19

    [3.2.19] - 2022-08-30

    Fixes

    • (help) Ensure required arguments for parent commands aren't shown in their subcommands when using args_conflicts_with_subcommand

    v3.2.18

    [3.2.18] - 2022-08-29

    Fixes

    • (help) Command::print_help now respects Command::colored_help
    • (derive) Improved error messages

    v3.2.17

    [3.2.17] - 2022-08-12

    Fixes

    • (derive) Expose #[clap(id = ...)] attribute to match Arg's latest API

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [3.2.23] - 2022-10-24

    Fixes

    • Upgrade to textwrap 0.16

    [3.2.22] - 2022-09-16

    Fixes

    • Unify dependencies on terminal_size to the 0.2 release

    [3.2.21] - 2022-09-12

    Features

    • TypedValueParser::map to allow reusing existing value parsers for other purposes

    [3.2.20] - 2022-09-02

    Features

    • ArgMatches::get_count help for ArgAction::Count
    • ArgMatches::get_flag help for ArgAction::SetTrue / ArgAction::SetFalse

    [3.2.19] - 2022-08-30

    Fixes

    • (help) Ensure required arguments for parent commands aren't shown in their subcommands when using args_conflicts_with_subcommand

    [3.2.18] - 2022-08-29

    Fixes

    • (help) Command::print_help now respects Command::colored_help
    • (derive) Improved error messages

    [3.2.17] - 2022-08-12

    Fixes

    • (derive) Expose #[clap(id = ...)] attribute to match Arg's latest API

    [3.2.16] - 2022-07-30

    Fixes

    • Ensure required arguments appear in errors when they are also members of a group (#4004)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump anyhow from 1.0.62 to 1.0.66

    Bump anyhow from 1.0.62 to 1.0.66

    Bumps anyhow from 1.0.62 to 1.0.66.

    Release notes

    Sourced from anyhow's releases.

    1.0.66

    • Reduce unhelpful backtrace frames in backtraces captured during a context call (#279)

    1.0.65

    • impl Provider for anyhow::Error

    1.0.64

    • Correctly propagate Backtrace when using #[source] anyhow::Error with thiserror crate (#231)

    1.0.63

    Commits
    • 8de29aa Release 1.0.66
    • 54fc812 Merge pull request #279 from dtolnay/contextbacktrace
    • 131249b Remove 2 frames of noise from 'context' backtraces
    • f2123ab Ui test changes for trybuild 1.0.66
    • 9bd74a1 Restore pre-nightly-2022-10-05 behavior of test_path PhantomData tests
    • 77c4fa4 Update test suite to nightly-2022-10-05
    • 7b171d6 Ignore bool_to_int_with_if clippy lint in test suite
    • 94ae34b Raise minimum tested toolchain to rust 1.56
    • 94f6f4d Remove default package.readme metadata from Cargo.toml
    • 4de2068 Release 1.0.65
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump clap from 3.2.12 to 3.2.22

    Bump clap from 3.2.12 to 3.2.22

    Bumps clap from 3.2.12 to 3.2.22.

    Release notes

    Sourced from clap's releases.

    v3.2.22

    [3.2.22] - 2022-09-16

    Fixes

    • Unify dependencies on terminal_size to the 0.2 release

    v3.2.21

    [3.2.21] - 2022-09-12

    Features

    • TypedValueParser::map to allow reusing existing value parsers for other purposes

    v3.2.20

    [3.2.20] - 2022-09-02

    Features

    • ArgMatches::get_count help for ArgAction::Count
    • ArgMatches::get_flag help for ArgAction::SetTrue / ArgAction::SetFalse

    v3.2.19

    [3.2.19] - 2022-08-30

    Fixes

    • (help) Ensure required arguments for parent commands aren't shown in their subcommands when using args_conflicts_with_subcommand

    v3.2.18

    [3.2.18] - 2022-08-29

    Fixes

    • (help) Command::print_help now respects Command::colored_help
    • (derive) Improved error messages

    v3.2.17

    [3.2.17] - 2022-08-12

    Fixes

    • (derive) Expose #[clap(id = ...)] attribute to match Arg's latest API

    v3.2.16

    [3.2.16] - 2022-07-30

    Fixes

    • Ensure required arguments appear in errors when they are also members of a group (#4004)

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [3.2.22] - 2022-09-16

    Fixes

    • Unify dependencies on terminal_size to the 0.2 release

    [3.2.21] - 2022-09-12

    Features

    • TypedValueParser::map to allow reusing existing value parsers for other purposes

    [3.2.20] - 2022-09-02

    Features

    • ArgMatches::get_count help for ArgAction::Count
    • ArgMatches::get_flag help for ArgAction::SetTrue / ArgAction::SetFalse

    [3.2.19] - 2022-08-30

    Fixes

    • (help) Ensure required arguments for parent commands aren't shown in their subcommands when using args_conflicts_with_subcommand

    [3.2.18] - 2022-08-29

    Fixes

    • (help) Command::print_help now respects Command::colored_help
    • (derive) Improved error messages

    [3.2.17] - 2022-08-12

    Fixes

    • (derive) Expose #[clap(id = ...)] attribute to match Arg's latest API

    [3.2.16] - 2022-07-30

    Fixes

    • Ensure required arguments appear in errors when they are also members of a group (#4004)

    [3.2.15] - 2022-07-25

    Features

    • (derive) New default_values_t and default_values_os_t attributes

    ... (truncated)

    Commits
    • 9e3fa67 chore: Release
    • d188de0 docs: Update changelog
    • 48b2373 Merge pull request #4221 from niyaznigmatullin/bump_terminal_size
    • 2fd5507 chore(deps): Bump terminal_size and textwrap
    • 7de2f36 chore: Release
    • af47562 docs: Roll back deprecation message
    • 1f053b9 Merge pull request #4205 from epage/deprecations
    • d1ff063 Merge pull request #4204 from epage/map
    • 7272aa0 docs: Expand on deprecation instructions
    • 960c152 feat(parser): TypedValueParseer::map for adapting value parsers
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump anyhow from 1.0.62 to 1.0.65

    Bump anyhow from 1.0.62 to 1.0.65

    Bumps anyhow from 1.0.62 to 1.0.65.

    Release notes

    Sourced from anyhow's releases.

    1.0.65

    • impl Provider for anyhow::Error

    1.0.64

    • Correctly propagate Backtrace when using #[source] anyhow::Error with thiserror crate (#231)

    1.0.63

    Commits
    • 4de2068 Release 1.0.65
    • 07acdac Merge pull request #271 from dtolnay/provider
    • ee49ec0 Add impl Provider in build.rs probe
    • b7448d3 impl std::any::Provider for anyhow::Error
    • 916e22b Release 1.0.64
    • 480e480 Merge pull request #268 from dtolnay/provide
    • b30f5c5 Include outer backtrace when called as source.provide
    • 4b8df91 GitHub Workflows security hardening
    • 007c69c Merge pull request #267 from dtolnay/demand
    • 1b298fe Rename &mut Demand arguments to 'demand'
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump clap from 3.2.12 to 3.2.21

    Bump clap from 3.2.12 to 3.2.21

    Bumps clap from 3.2.12 to 3.2.21.

    Release notes

    Sourced from clap's releases.

    v3.2.21

    [3.2.21] - 2022-09-12

    Features

    • TypedValueParser::map to allow reusing existing value parsers for other purposes

    v3.2.20

    [3.2.20] - 2022-09-02

    Features

    • ArgMatches::get_count help for ArgAction::Count
    • ArgMatches::get_flag help for ArgAction::SetTrue / ArgAction::SetFalse

    v3.2.19

    [3.2.19] - 2022-08-30

    Fixes

    • (help) Ensure required arguments for parent commands aren't shown in their subcommands when using args_conflicts_with_subcommand

    v3.2.18

    [3.2.18] - 2022-08-29

    Fixes

    • (help) Command::print_help now respects Command::colored_help
    • (derive) Improved error messages

    v3.2.17

    [3.2.17] - 2022-08-12

    Fixes

    • (derive) Expose #[clap(id = ...)] attribute to match Arg's latest API

    v3.2.16

    [3.2.16] - 2022-07-30

    Fixes

    • Ensure required arguments appear in errors when they are also members of a group (#4004)

    v3.2.15

    [3.2.15] - 2022-07-25

    Features

    • (derive) New default_values_t and default_values_os_t attributes

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [3.2.21] - 2022-09-12

    Features

    • TypedValueParser::map to allow reusing existing value parsers for other purposes

    [3.2.20] - 2022-09-02

    Features

    • ArgMatches::get_count help for ArgAction::Count
    • ArgMatches::get_flag help for ArgAction::SetTrue / ArgAction::SetFalse

    [3.2.19] - 2022-08-30

    Fixes

    • (help) Ensure required arguments for parent commands aren't shown in their subcommands when using args_conflicts_with_subcommand

    [3.2.18] - 2022-08-29

    Fixes

    • (help) Command::print_help now respects Command::colored_help
    • (derive) Improved error messages

    [3.2.17] - 2022-08-12

    Fixes

    • (derive) Expose #[clap(id = ...)] attribute to match Arg's latest API

    [3.2.16] - 2022-07-30

    Fixes

    • Ensure required arguments appear in errors when they are also members of a group (#4004)

    [3.2.15] - 2022-07-25

    Features

    • (derive) New default_values_t and default_values_os_t attributes

    [3.2.14] - 2022-07-21

    Fixes

    • A multple_values positional followed by another positional now works with multiple flags

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump wasm-bindgen from 0.2.82 to 0.2.83

    Bump wasm-bindgen from 0.2.82 to 0.2.83

    Bumps wasm-bindgen from 0.2.82 to 0.2.83.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump criterion from 0.3.6 to 0.4.0

    Bump criterion from 0.3.6 to 0.4.0

    Bumps criterion from 0.3.6 to 0.4.0.

    Changelog

    Sourced from criterion's changelog.

    [0.4.0] - 2022-09-10

    Removed

    • The Criterion::can_plot function has been removed.
    • The Criterion::bench_function_over_inputs function has been removed.
    • The Criterion::bench_functions function has been removed.
    • The Criterion::bench function has been removed.

    Changed

    • HTML report hidden behind non-default feature flag: 'html_reports'
    • Standalone support (ie without cargo-criterion) feature flag: 'cargo_bench_support'
    • MSRV bumped to 1.57
    • rayon and plotters are optional (and default) dependencies.
    • Status messages ('warming up', 'analyzing', etc) are printed to stderr, benchmark results are printed to stdout.
    • Accept subsecond durations for --warm-up-time, --measurement-time and --profile-time.
    • Replaced serde_cbor with ciborium because the former is no longer maintained.
    • Upgrade clap to v3 and regex to v1.5.

    Added

    • A --discard-baseline flag for discarding rather than saving benchmark results.
    • Formal support for benchmarking code compiled to web-assembly.
    • A --quiet flag for printing just a single line per benchmark.
    • A Throughput::BytesDecimal option for measuring throughput in bytes but printing them using decimal units like kilobytes instead of binary units like kibibytes.

    Fixed

    • When using bench_with_input, the input parameter will now be passed through black_box before passing it to the benchmark.
    Commits
    • 5e27b69 Merge branch 'version-0.4'
    • 4d6d69a Increment version numbers.
    • 935c632 Add Throughput::BytesDecimal. Fixes #581.
    • f82ce59 Remove critcmp code (it belongs in cargo-criterion) (#610)
    • a18d080 Merge branch 'master' into version-0.4
    • f9c6b8d Merge pull request #608 from Cryptex-github/patch-1
    • 8d0224e Fix html report path
    • 2934163 Add missing black_box for bench_with_input parameters. Fixes 566.
    • dfd7b65 Add duplicated benchmark ID to assertion message.
    • ce8259e Bump criterion-plot version number.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Update Rust crate anyhow to 1.0.68

    Update Rust crate anyhow to 1.0.68

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | anyhow | dependencies | patch | 1.0.66 -> 1.0.68 |


    Release Notes

    dtolnay/anyhow

    v1.0.68

    Compare Source

    • Opt out of -Zrustdoc-scrape-examples on docs.rs for now

    v1.0.67

    Compare Source

    • Improve the backtrace captured when context() is used on an Option (#​280)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update Rust crate criterion to 0.4.0

    Update Rust crate criterion to 0.4.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | criterion (source) | dev-dependencies | minor | 0.3.6 -> 0.4.0 |


    Release Notes

    bheisler/criterion.rs

    v0.4.0

    Compare Source

    Removed
    • The Criterion::can_plot function has been removed.
    • The Criterion::bench_function_over_inputs function has been removed.
    • The Criterion::bench_functions function has been removed.
    • The Criterion::bench function has been removed.
    Changed
    • HTML report hidden behind non-default feature flag: 'html_reports'
    • Standalone support (ie without cargo-criterion) feature flag: 'cargo_bench_support'
    • MSRV bumped to 1.57
    • rayon and plotters are optional (and default) dependencies.
    • Status messages ('warming up', 'analyzing', etc) are printed to stderr, benchmark results are printed to stdout.
    • Accept subsecond durations for --warm-up-time, --measurement-time and --profile-time.
    • Replaced serde_cbor with ciborium because the former is no longer maintained.
    • Upgrade clap to v3 and regex to v1.5.
    Added
    • A --discard-baseline flag for discarding rather than saving benchmark results.
    • Formal support for benchmarking code compiled to web-assembly.
    • A --quiet flag for printing just a single line per benchmark.
    • A Throughput::BytesDecimal option for measuring throughput in bytes but printing them using decimal units like kilobytes instead of binary units like kibibytes.
    Fixed
    • When using bench_with_input, the input parameter will now be passed through black_box before passing it to the benchmark.

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update Rust crate wasm-bindgen to 0.2.83

    Update Rust crate wasm-bindgen to 0.2.83

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | wasm-bindgen (source) | dependencies | patch | 0.2.82 -> 0.2.83 |


    Release Notes

    rustwasm/wasm-bindgen

    v0.2.83

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    Ignored or Blocked

    These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

    Detected dependencies

    cargo
    cli/Cargo.toml
    • anyhow 1.0.66
    • clap 3.2.12
    • ariadne 0.1.5
    core/Cargo.toml
    • anyhow 1.0.66
    • ariadne 0.1.5
    diagnostics/Cargo.toml
    • strum_macros 0.24.3
    • yansi 0.5.1
    • ariadne 0.1.5
    lexer/Cargo.toml
    • logos 0.12.1
    • strum_macros 0.24.3
    • criterion 0.3.6
    parser/Cargo.toml
    • criterion 0.3.6
    • dhat 0.3.2
    wasm/Cargo.toml
    • wasm-bindgen 0.2.82
    github-actions
    .github/workflows/cargo-deny.yml
    • actions/checkout v3
    • EmbarkStudios/cargo-deny-action v1
    .github/workflows/rust.yml
    • actions/checkout v3
    • actions-rs/toolchain v1
    • actions/cache v3
    • actions-rs/clippy-check v1
    • actions/checkout v3
    • actions-rs/toolchain v1
    • actions/cache v3
    • actions-rs/cargo v1

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    dependencies 
    opened by renovate[bot] 0
  • Do array initialization in declaration

    Do array initialization in declaration

    Currently the only way to initialize an array at size n with compile time values is to do

    int[] a = new int[2]
    a[0] = 5
    a[1] = 10
    

    It'd save a lot of time if that could be shortened to

    int[] a = [5, 10]
    
    enhancement lexer parser language-addition 
    opened by Scrabx3 0
Owner
erri120
I'm a random dude who loves music, videogames, programming and playing the piano.
erri120
Revolutionize handheld gaming with adaptive game settings. Optimize graphics and gameplay experience based on real-time system metrics. Open-source project empowering developers to enhance games on portable devices

Welcome to the server-side application for the HarmonyLink project. This innovative software is developed with the Rust programming language and is ai

Jordon Brooks 5 Jun 28, 2023
Horus is an open source tool for running forensic and administrative tasks at the kernel level using eBPF, a low-overhead in-kernel virtual machine, and the Rust programming language.

Horus Horus is an open-source tool for running forensic and administrative tasks at the kernel level using eBPF, a low-overhead in-kernel virtual mach

null 4 Dec 15, 2022
Open source programming language written in Rust.

No longer maintained! Tron Programming Language An open-source programming language written in Rust. Installation Before starting the installation, pl

Tron 3 Jul 25, 2023
Open source programming language written in Rust.

Tron Programming Language An open-source programming language written in Rust. Installation Before starting the installation, please make sure that yo

418 3 Jul 26, 2023
A diff-based data management language to implement unlimited undo, auto-save for games, and cloud-apps which needs to retain every change.

Docchi is a diff-based data management language to implement unlimited undo, auto-save for games, and cloud-apps which needs to save very often. User'

juzy 21 Sep 19, 2022
A simple, human-friendly, embeddable scripting language

Mica Language reference · Rust API A simple, human-friendly scripting language, developed one feature at a time. Human-friendly syntax inspired by Rub

Mica programming language 32 Dec 30, 2022
The GameLisp scripting language

GameLisp GameLisp is a scripting language for Rust game development. To get started, take a look at the homepage. Please note that GameLisp currently

Fleabit 348 Nov 29, 2022
A safe, fast, lightweight embeddable scripting language written in Rust.

Bud (budlang) A safe, fast, lightweight embeddable scripting language written in Rust. WARNING: This crate is not anywhere near being ready to publish

Khonsu Labs 13 Dec 27, 2022
A plugin system for the Rhai embedded scripting language.

Rhai Dylib This crate exposes a simple API to load dylib Rust crates in a Rhai engine using Rhai modules. ?? This is a work in progress, the API is su

Rhai - Embedded scripting language and engine for Rust 6 Dec 27, 2022
Provides filesystem access for the Rhai scripting language.

About rhai-fs This crate provides filesystem access for the Rhai scripting language. Usage Cargo.toml [dependencies] rhai-fs = "0.1.2" Rhai script //

Rhai - Embedded scripting language and engine for Rust 6 Dec 5, 2022
YAL is Yet Another scripting Language(but worse)

YAL - Yet Another Language YAL is yet another scripting language(but worse). Syntax Basic syntax fun main() { print("Hello, World!"); } Fibonacci

MD Gaziur Rahman Noor 16 Nov 14, 2022
bevy_scriptum is a a plugin for Bevy that allows you to write some of your game logic in a scripting language

bevy_scriptum is a a plugin for Bevy that allows you to write some of your game logic in a scripting language. Currently, only Rhai is supported, but more languages may be added in the future.

Jarosław Konik 7 Jun 24, 2023
An open source artifact manager. Written in Rust back end and an Vue front end to create a fast and modern experience

nitro_repo Nitro Repo is an open source free artifact manager. Written with a Rust back end and a Vue front end to create a fast and modern experience

Wyatt Jacob Herkamp 30 Dec 14, 2022
zigfi is an open-source stocks, commodities and cryptocurrencies price monitoring CLI app, written fully in Rust, where you can organize assets you're watching easily into watchlists for easy access on your terminal.

zigfi zigfi is an open-source stocks, commodities and cryptocurrencies price monitoring CLI app, written fully in Rust, where you can organize assets

Aldrin Zigmund Cortez Velasco 18 Oct 24, 2022
This utility traverses through your filesystem looking for open-source dependencies that are seeking donations by parsing README.md and FUNDING.yml files

This utility traverses through your filesystem looking for open-source dependencies that are seeking donations by parsing README.md and FUNDING.yml files

Mufeed VH 38 Dec 30, 2022
A blazing fast command line license generator for your open source projects written in Rust🚀

Overview This is a blazing fast ⚡ , command line license generator for your open source projects written in Rust. I know that GitHub

Shoubhit Dash 43 Dec 30, 2022
An open source, programmed in rust, privacy focused tool for reading programming resources (like stackoverflow) fast, efficient and asynchronous from the terminal.

Falion An open source, programmed in rust, privacy focused tool for reading programming resources (like StackOverFlow) fast, efficient and asynchronou

Obscurely 17 Dec 20, 2022
A modern high-performance open source file analysis library for automating localization tasks

?? Filecount Filecount is a modern high-performance open source file analysis library for automating localization tasks. It enables you to add file an

Babblebase 4 Nov 11, 2022
Over-simplified, featherweight, open-source and easy-to-use authentication and authorization server.

concess ⚠️ Early Development: This is not production ready, yet. Do not use it for anything important. Introduction concess is a over-simplified, feat

Dustin Frisch 3 Nov 25, 2022