diff --git a/examples/src/main.rs b/examples/src/main.rs index 70bc581..a45fbf3 100644 --- a/examples/src/main.rs +++ b/examples/src/main.rs @@ -5,7 +5,7 @@ roest::roest! { karaktereigenschap SleutelWaarde { functie schrijf(&zelf, sleutel: Keten, waarde: Keten); - functie lees(&zelf, sleutel: Keten) -> Mogelijkheid<&Keten>; + functie lees(&zelf, sleutel: Keten) -> Resultaat, Keten>; } vast veranderlijk WOORDENBOEK: Mogelijkheid> = Geen; @@ -19,11 +19,16 @@ roest::roest! { }; wk.voeg_in(sleutel, waarde); } - functie lees(&zelf, sleutel: Keten) -> Mogelijkheid<&Keten> { - laat wk = gevaarlijk { - WOORDENBOEK.verkrijg_of_voeg_toe_met(Standaard::standaard) - }; - wk.verkrijg(&sleutel) + functie lees(&zelf, sleutel: Keten) -> Resultaat, Keten> { + // laat wk = gevaarlijk { + // WOORDENBOEK.verkrijg_of_voeg_toe_met(Standaard::standaard) + // }; + // wk.verkrijg(&sleutel) + als laat Enige(wbk) = gevaarlijk { WOORDENBOEK.als_verw() } { + Goed(wbk.verkrijg(&sleutel)) + } anders { + Ft("ophalen uit woordenboek".tot()) + } } } diff --git a/roest_proc_macro/src/lib.rs b/roest_proc_macro/src/lib.rs index 7f86a8d..ba4aede 100644 --- a/roest_proc_macro/src/lib.rs +++ b/roest_proc_macro/src/lib.rs @@ -61,6 +61,11 @@ fn replace_ident(ident: Ident) -> Option { "gebruik" => "use", "waar" => "true", "opsomming" => "enum", + "tot" => "into", + "verw" => "ref", + "als_verw" => "as_ref", + "onbereikbare_code" => "unreachable_code", + "sta_toe" => "allow", _ => &ident_str, };