<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">I don't know if there's a better way, but this at least works:<div><br></div><div><div><font face="Menlo">let tmp: Test<bool> = Test::new();</font></div><div><font face="Menlo">let t = tmp.test();</font></div><div><font face="Menlo">println!("t={}", t);</font></div></div><div><br><div><div>On 2014-06-04, at 10:28, Igor Bukanov <<a href="mailto:igor@mir2.org">igor@mir2.org</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">What is the syntax for calling a static method of a generic struct<br>while selecting the the generic parameters explicitly? Apparently<br>Struct<Type>::static_method does not work. For example, consider the<br>following program:<br><br>#[deriving(Show)]<br>struct Test<T> { i: int }<br><br>impl<T> Test<T> {<br>    fn new() -> Test<T> { Test {i: 1} }<br>    fn test(&self) -> int { self.i }<br>}<br><br>fn main() {<br>    let t = Test<bool>::new().test();<br>    println!("t={}", t);<br>}<br><br>The latest nightly compiler generates:<br><br>s.rs:10:13: 10:17 error: `Test` is a structure name, but this<br>expression uses it like a function name<br>s.rs:10     let t = Test<bool>::new().test();<br>                    ^~~~<br><br>Note that in this case type inference does not work as removing <bool> gives:<br><br>s.rs:10:13: 10:31 error: cannot determine a type for this expression:<br>unconstrained type<br>s.rs:10     let t = Test::new().test();<br>                    ^~~~~~~~~~~~~~~~~~<br>_______________________________________________<br>Rust-dev mailing list<br><a href="mailto:Rust-dev@mozilla.org">Rust-dev@mozilla.org</a><br>https://mail.mozilla.org/listinfo/rust-dev<br></blockquote></div><br></div></body></html>