Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Rust uses the "turbo fish" to get around this. Your example wouldn't compile unless a and b where valid variable names.

    a::<b> (c) 
Is how you instantiate a generic. It's not that ugly. Bigger problem is value type generics/const generics where you want to do some logic like

     a<b > c>


> Bigger problem is value type generics/const generics

How does Rust solve the ambiguities with const generics?


The ambiguous const generics have to be surrounded by { }:

  fn function<T, { ambigous const generic expression }>(arg1: T) -> T {


I believe the current proposal (partially supported on nightly) is to require expressions in generic arguments to be enclosed in {}


The expression must be wrapped in curly braces: Type<{ expression }>




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: