Skip to content

Instantly share code, notes, and snippets.

View CarlKCarlK's full-sized avatar

Carl Kadie CarlKCarlK

View GitHub Profile

$\sqrt{3x-1}+(1+x)^2$

error: Expected <..> generic parameter.
--> tests/ui/anyiter_paren.rs:4:23
|
4 | pub fn any_str_len(s: AnyIter(AnyString)) -> usize {
| ^^^^^^^^^^^^^^^^^^
#[test]
fn ui() {
let t = trybuild::TestCases::new();
t.compile_fail("tests/ui/*.rs");
}
use anyinput::anyinput;
#[anyinput]
pub fn any_str_len(s: AnyIter(AnyString)) -> usize {
s.len()
}
fn main() {}
use anyinput::anyinput;
#[test]
fn one_input() {
#[anyinput]
pub fn any_str_len(s: AnyString) -> usize {
s.len()
}
assert!(any_str_len("123") == 3);
}
#[test]
#[should_panic(
expected = "proc-macro-error API cannot be used outside of `entry_point` invocation, perhaps you forgot to annotate your #[proc_macro] function with `#[proc_macro_error]"
)]
fn one_bad_input_3() {
let before = quote! {
pub fn any_str_len(s: AnyIter(AnyString)) {
s.len()
}
};
@CarlKCarlK
CarlKCarlK / create_maybe_sub_type.rs
Created October 19, 2022 21:11
create_maybe_sub_type.rs
fn create_maybe_sub_type(args: &PathArguments, span_range: &SpanRange) -> Option<Type> {
match args {
PathArguments::None => None,
PathArguments::AngleBracketed(ref args) => {
let arg = first_and_only(args.args.iter()).unwrap_or_else(|| {
abort!(span_range, "Expected at exactly one generic parameter.")
});
if let GenericArgument::Type(sub_type2) = arg {
Some(sub_type2.clone())
} else {
error: Expected <..> generic parameter.
--> tests/ui/anyiter_paren.rs:4:23
|
4 | pub fn any_str_len(s: AnyIter(AnyString)) -> usize {
| ^^^^^^^^^^^^^^^^^^
stmt #0: println ! ("hello world") ;
stmt #1: println ! ("hello solar system") ;
stmt #2: println ! ("hello galaxy") ;
stmt #3: { println ! ("hello solar system") ; println ! ("hello universe") ; }
item_fn_new: fn hello () { println ! ("hello world") ; { println ! ("hello solar system") ; println ! ("hello universe") ; } }
count: 4
fn count_statements() {
let mut stmt_counter = StmtCounter { count: 0 };
let item_fn_old: ItemFn = parse_quote! {
fn hello() {
println!("hello world");
{
println!("hello solar system");
println!("hello galaxy");
}
}