# IronRuby r111 is out

**URL:** <https://www.ruby-forum.com/t/ironruby-r111-is-out/138190>\
**Category:** IronRuby\
**Created:** [May 20, 2008, 11:18pm UTC](https://www.ruby-forum.com/t/ironruby-r111-is-out/138190 "2008-05-20T23:18:21Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![John\_LSSIRONRUBY](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4491bb/32.png) [@John\_LSSIRONRUBY](https://www.ruby-forum.com/u/John_LSSIRONRUBY)\
**Post date:** [May 20, 2008, 11:18pm UTC](https://www.ruby-forum.com/t/ironruby-r111-is-out/138190/1 "2008-05-20T23:18:21Z")

</div>

This is a really big change that fixes most of the known issues that are  
blocking us from running Rails. We’re not there yet, but we’re getting  
closer.

This change incorporates the latest Ruby specs, which you can test drive  
via “rake mspec - - fail” for a baseline test. Note that the number of  
specs passing falls significantly because of some changes to the way  
some of the specs are run. This is a low-pri issue for us now since  
we’re only fixing things that block us from running Rails for the time  
being.

Once again, if you’re reporting bugs, please let us know in the bug  
report _where_ you found the bug so we can prioritize our investigations  
appropriately.

Thanks!  
-John

- Fixes bug #20139: MemberAssignmentExpression computes lhs expression  
twice
- It’s still not precise (arguments to ArrayItemAccess are evaluated  
twice now), will fix that later.
- Fixes bug #20140: MemberAssignmentExpression not special cased for  
&&= and ||= - - Fixes bug #20131: require infinite loop
- Fixed bug #19901: Class variable with ||=

Ignores differences of Ruby Mutex and .NET Monitor for now:

- Ruby Mutex.lock in not reentrant by the same thread
- it could be locked/unlocked from non-owning thread (.NET Monitor  
throws an exception in that case)

Also IronRuby runtime itself is not hardened against race conditions  
yet.

Comments out extension type on RubyModule - CLR interop needs to be  
better designed first.  
Merges type to interface/module/class mapping dictionaries into a single  
one. We now remember the mapping for non-interface modules as well to  
enable reopening of library defined modules.  
Changes library initializer helpers to allow reopening.

- Fixes bug #20199: Getting metaclass for nil causes a .NET exception

- Fixes bug #20137: gsub $n bug

- Fixes bug #19902: Regex global matching vars are not nil when they  
don’t match

- Fixes bug #20222: super call in initialize method of a module

- Fixes bug #20011: Can’t subclass module

- Fixed Thread.new so that it won’t crash when no block is present

- Also implements Module#initialize, Module#initialize\_copy, IO#sync.

- Using new DLR AST factories: Ast.Property, Ast.Field,  
Ast.NewArrayInit.

Applying patches:  
#19991 - adding implementation of Interrupt and SignalException  
exceptions  
#20028 - adding default implementation of Kernel#=~  
#20173 - adding default stub implementation of SHA1  
#20174 - defining string / integer constants in OpenSSL  
#20175 - implementation of Time#gmt\_offset

- Added the Ruby specs suite. You can run a baseline test against these  
via ruby mspec - - fail. The old rubinius specs still run via rake spec

- 
  - fail, but they are deprecated and will be removed in a future  
release. It is highly likely that we will redirect rake spec to rake  
mspec at that time.

- Fixes for the very basic Dir.glob

- Implemented IO::sync, Struct::Tms, Process.times

- Fixed Thread.new so that it won’t crash when no block is present, or  
when the block throws an exception

- Skip threading spec tests that don’t work

- Fixes to mspec to remove extraneous dumps during rake mspec - - fail

- Adds some more baseline excludes that were missing in mspec

- Fixes Yaml test harness to reflect changes in namespace for the YAML  
lib

- Adds configuration to Rakefile to push out yaml parser from merlin  
external and yaml tests

- Adds a test\_yaml task to Rakefile

- Updated IronRuby.sln external .sln file to reflect new YAML libs

Thanks,  
-John

---

<div class="post-metadata">

**Author:** ![John\_LSSIRONRUBY](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4491bb/32.png) [@John\_LSSIRONRUBY](https://www.ruby-forum.com/u/John_LSSIRONRUBY)\
**Post date:** [May 21, 2008, 4:47am UTC](https://www.ruby-forum.com/t/ironruby-r111-is-out/138190/2 "2008-05-21T04:47:03Z")

</div>

I notice there’s one line of C# 3.0 syntax in the YAML implementation  
(yamlMultiAdapter).

I’m going to have to get a new version of Visual Studio.

Cheers, Wayne.

---

<div class="post-metadata">

**Author:** ![John\_LSSIRONRUBY](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4491bb/32.png) [@John\_LSSIRONRUBY](https://www.ruby-forum.com/u/John_LSSIRONRUBY)\
**Post date:** [May 21, 2008, 5:09am UTC](https://www.ruby-forum.com/t/ironruby-r111-is-out/138190/3 "2008-05-21T05:09:16Z")

</div>

We can fix that. Can you point me to the file & line #?

Thanks,  
-John

---

<div class="post-metadata">

**Author:** ![John\_LSSIRONRUBY](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4491bb/32.png) [@John\_LSSIRONRUBY](https://www.ruby-forum.com/u/John_LSSIRONRUBY)\
**Post date:** [May 21, 2008, 5:13am UTC](https://www.ruby-forum.com/t/ironruby-r111-is-out/138190/4 "2008-05-21T05:13:57Z")

</div>

Yaml\Engine\BaseConstructor.cs:121

It’s about time I upgraded anyway, but I just wanted to check if this  
was a conscious decision to introduce C# 3.0 features into the code  
base.

Cheers, Wayne.

---

<div class="post-metadata">

**Author:** ![John\_LSSIRONRUBY](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4491bb/32.png) [@John\_LSSIRONRUBY](https://www.ruby-forum.com/u/John_LSSIRONRUBY)\
**Post date:** [May 21, 2008, 7:25am UTC](https://www.ruby-forum.com/t/ironruby-r111-is-out/138190/5 "2008-05-21T07:25:38Z")

</div>

Btw, just curious, why _not_ moving to C# 3.0?

Oleg

---

<div class="post-metadata">

**Author:** ![John\_LSSIRONRUBY](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4491bb/32.png) [@John\_LSSIRONRUBY](https://www.ruby-forum.com/u/John_LSSIRONRUBY)\
**Post date:** [May 21, 2008, 4:40pm UTC](https://www.ruby-forum.com/t/ironruby-r111-is-out/138190/6 "2008-05-21T16:40:10Z")

</div>

With just a few more relatively minor patches, we can now successfully  
run our first trivial use case:

gem --help

A small milestone 🙂

Cheers, Wayne.
